实例详解带参数的 npm script


Posted in Javascript onMay 28, 2019

添加参数可以减少重复的 npm script。拿 eslint 来说,传入 --fix 参数,就开启内置的代码风格自动修复模式,好智能听起来。

"scripts": {
  ...,
  "lint:js": "eslint ./src/**/*.js",
  "lint:js:fix": "eslint ./src/**/*.js --fix"
}

本着不 DRY 的原则,而且还会遇上复制粘贴带来的风险,可以这么巧妙的配置:

"scripts": {
  ...,
  "lint:js": "eslint ./src/**/*.js",
  "lint:js:fix": "npm run lint:js -- --fix"
}

对面个上面命令配置, --fix 前面添加了 -- , -- 是分隔符,意思就是给 npm run lint:js 添加额外的参数。

这个时候看看你的代码,你会发现一些代码风格就自动修复了。

添加注释

随着命令配置越来越多,添加注释势在必行,以保障代码的可读性和维护性。

在 package.json 中添加 // 为键的值

"scripts": {
  ...,
  "//": "并行检查所有代码编程风格",
  "lint:bx-all": "npm-run-all --parallel lint:*"
}

添加 // 的方式明显有不足,npm run 不能将注释和命令对应上,且只会列出最后那个。

直接在脚本命令中编辑加注释

"scripts": {
  ...,
  "lint-bx-all": "# 并行检查所有代码编程风格 \n npm-run-all --parallel lint:*"
}

注意 \n 后面有空格,主要是为了排版(换行或缩进)美观,当然了也可以用 \t 。

运行时日志

默认日志

不添加任何参数控制日志输出,也是最常用的,可以看到执行命令和执行命令的结果。

更简洁的日志 -s

搭配 --loglevel silent 或 --silent 或 -s 参数来控制日志输出,

不简洁的日志 -d

使用场景多在排查脚本问题的时候可用,搭配 --loglevel verbose 或 --verbose 或 -d (本来以为是 -v ,估计是 -v 是 version)

总结

以上所述是小编给大家介绍的带参数的 npm script,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Javascript 相关文章推荐
(JS实现)MapBar中坐标的加密和解密的脚本
May 16 Javascript
js调用flash的效果代码
Apr 26 Javascript
点图片上一页下一页翻页效果
Jul 09 Javascript
一些实用的jQuery代码片段收集
Jul 12 Javascript
JavaScript高级程序设计 读书笔记之八 Function类及闭包
Feb 27 Javascript
JavaScript字符串对象substring方法入门实例(用于截取字符串)
Oct 17 Javascript
Javascript基础教程之数组 array
Jan 18 Javascript
TypeScript 中接口详解
Jun 19 Javascript
AngularJS equal比较对象实例详解
Sep 14 Javascript
Web技术实现移动监测的介绍
Sep 18 Javascript
node vue项目开发之前后端分离实战记录
Dec 13 Javascript
Vue自定义组件的四种方式示例详解
Feb 28 Javascript
jquery实现Ajax请求的几种常见方式总结
May 28 #jQuery
Vue2.x通用条件搜索组件的封装及应用详解
May 28 #Javascript
jquery操作select常见方法大全【7种情况】
May 28 #jQuery
vue实现条件叠加搜索的解决方法
May 28 #Javascript
webpack4 从零学习常用配置(小结)
May 28 #Javascript
详解ES6 export default 和 import语句中的解构赋值
May 28 #Javascript
jQuery实现高级检索功能
May 28 #jQuery
You might like
php 批量生成html,txt文件的实现代码
2013/06/26 PHP
PHP使用GIFEncoder类处理gif图片实例
2014/07/01 PHP
php集成动态口令认证
2016/07/21 PHP
PHP实现mysqli批量执行多条语句的方法示例
2017/07/22 PHP
Laravel中服务提供者和门面模式的入门介绍
2017/11/06 PHP
js列举css中所有图标的实现代码
2011/07/04 Javascript
2012年开发人员的16款新鲜的jquery插件体验分享
2012/12/28 Javascript
js获取电脑分辨率的思路及操作
2013/11/22 Javascript
JS实用的动画弹出层效果实例
2015/05/05 Javascript
DOM 高级编程
2015/05/06 Javascript
MVVM模式中ViewModel和View、Model有什么区别?
2015/06/19 Javascript
JavaScript 函数的执行过程
2016/05/09 Javascript
Javascript函数中的arguments.callee用法实例分析
2016/09/16 Javascript
JS正则替换掉小括号及内容的方法
2016/11/29 Javascript
jquery实现百叶窗效果
2017/01/12 Javascript
vue2过滤器模糊查询方法
2018/09/16 Javascript
js闭包和垃圾回收机制示例详解
2021/03/01 Javascript
python脚本设置超时机制系统时间的方法
2016/02/21 Python
Python cookbook(数据结构与算法)字典相关计算问题示例
2018/02/18 Python
利用scrapy将爬到的数据保存到mysql(防止重复)
2018/03/31 Python
为什么str(float)在Python 3中比Python 2返回更多的数字
2018/10/16 Python
python2和python3的输入和输出区别介绍
2018/11/20 Python
Django 实现Admin自动填充当前用户的示例代码
2019/11/18 Python
Python爬虫HTPP请求方法有哪些
2020/06/03 Python
详解python UDP 编程
2020/08/24 Python
python实现测试工具(二)——简单的ui测试工具
2020/10/19 Python
CSS3中的opacity属性使用教程
2015/08/19 HTML / CSS
美国高端牛仔品牌:Silver Jeans
2019/12/12 全球购物
分解成质因数(如435234=251*17*17*3*2,据说是华为笔试题)
2014/07/16 面试题
Ajax和javascript的区别
2013/07/20 面试题
动物科学专业求职信
2014/07/27 职场文书
践行党的群众路线心得体会
2014/11/05 职场文书
党组织关系的介绍信模板
2019/06/21 职场文书
MySQL之MyISAM存储引擎的非聚簇索引详解
2022/03/03 MySQL
SQLyog的下载、安装、破解、配置教程(MySQL可视化工具安装)
2022/09/23 MySQL
Li list-style-image 图片垂直居中实现方法
2023/05/21 HTML / CSS