实例详解带参数的 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 相关文章推荐
Prototype Template对象 学习
Jul 19 Javascript
使用jQuery实现dropdownlist的联动效果(sharepoint 2007)
Mar 30 Javascript
jquery通过a标签删除table中的一行的代码
Dec 02 Javascript
js中function()使用方法
Dec 24 Javascript
html的DOM中Event对象onabort事件用法实例
Jan 21 Javascript
浅谈jQuery中replace()方法
May 13 Javascript
Angular2中Bootstrap界面库ng-bootstrap详解
Oct 18 Javascript
setTimeout函数的神奇使用
Feb 26 Javascript
ES6字符串模板,剩余参数,默认参数功能与用法示例
Apr 06 Javascript
node.js 用socket实现聊天的示例代码
Oct 17 Javascript
JS获取url参数,JS发送json格式的POST请求方法
Mar 29 Javascript
解决layui中table异步数据请求不支持自定义返回数据格式的问题
Aug 19 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 简单数组排序实现代码
2009/08/05 PHP
PHP 万年历实现代码
2012/10/18 PHP
Laravel 中获取上一篇和下一篇数据
2015/07/27 PHP
PHP7 foreach() 函数修改
2021/03/09 PHP
jquery ajax return没有返回值的解决方法
2011/10/20 Javascript
JavaScript学习笔记记录我的旅程
2012/05/23 Javascript
JQueryEasyUI datagrid框架的基本使用
2013/04/08 Javascript
关于jquery中全局函数each使用介绍
2013/12/10 Javascript
JavaScript中的单引号和双引号报错的解决方法
2014/09/01 Javascript
js限制input标签中只能输入中文
2015/06/26 Javascript
jQuery实现两款有动画功能的导航菜单代码
2015/09/16 Javascript
谈谈对offsetleft兼容性的理解
2015/11/11 Javascript
js实现文字滚动效果
2016/03/03 Javascript
JS HTML5拖拽上传图片预览
2016/07/18 Javascript
详解JS-- 浮点数运算处理
2016/11/28 Javascript
node.js 抓取代理ip实例代码
2017/04/30 Javascript
Vue页面跳转动画效果的实现方法
2018/09/23 Javascript
elementui之el-tebs浏览器卡死的问题和使用报错未注册问题
2019/07/06 Javascript
js图数据结构处理 迪杰斯特拉算法代码实例
2019/09/11 Javascript
vue解决花括号数据绑定不成功的问题
2019/10/30 Javascript
讲解Python中for循环下的索引变量的作用域
2015/04/15 Python
python扫描proxy并获取可用代理ip的实例
2017/08/07 Python
python奇偶行分开存储实现代码
2018/03/19 Python
使用python list 查找所有匹配元素的位置实例
2019/06/11 Python
Django 设置admin后台表和App(应用)为中文名的操作方法
2020/05/10 Python
总结Pyinstaller的坑及终极解决方法(小结)
2020/09/21 Python
Python实现七个基本算法的实例代码
2020/10/08 Python
详解css3 object-fit属性
2018/07/27 HTML / CSS
为什么使用接口?
2014/08/13 面试题
阿里巴巴的Oracle DBA笔试题答案-SQL tuning类
2016/04/03 面试题
Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型
2013/10/30 面试题
关于环保的标语
2014/06/13 职场文书
2014中学教师节广播稿
2014/09/10 职场文书
酒店辞职书范文
2015/02/26 职场文书
2015国庆节感想
2015/08/04 职场文书
一篇文章了解正则表达式的替换技巧
2022/02/24 Javascript