实例详解带参数的 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 相关文章推荐
自动生成文章摘要的代码[JavaScript 版本]
Mar 20 Javascript
Document 对象的常用方法
Jul 31 Javascript
JavaScript 乱码问题
Aug 06 Javascript
JavaScript XML和string相互转化实现代码
Jul 04 Javascript
javascript分页代码实例分享(js分页)
Dec 13 Javascript
浅谈jQuery事件绑定原理
Jan 02 Javascript
js中hash和ico的关联分析
Feb 05 Javascript
在for循环中length值是否需要缓存
Jul 27 Javascript
微信小程序新增的拖动组件movable-view使用教程
May 20 Javascript
JS的Ajax与后端交互数据的实例
Aug 08 Javascript
vue项目部署到Apache服务器中遇到的问题解决
Aug 24 Javascript
vue项目前端知识点整理【收藏】
May 13 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
Win2003服务器安全加固设置--进一步提高服务器安全性
2007/05/23 PHP
使用PHP函数scandir排除特定目录
2014/06/12 PHP
PHP数组排序之sort、asort与ksort用法实例
2014/09/08 PHP
PHP递归复制、移动目录的自定义函数分享
2014/11/18 PHP
WordPress中给文章添加自定义字段及后台编辑功能区域
2015/12/19 PHP
利用php-cli和任务计划实现订单同步功能的方法
2017/05/03 PHP
js下用gb2312编码解码实现方法
2009/12/31 Javascript
爆炸式的JS圆形浮动菜单特效代码
2010/03/03 Javascript
JavaScript使用过程中需要注意的地方和一些基本语法
2010/08/26 Javascript
document.write()及其输出内容的样式、位置控制
2013/08/12 Javascript
Extjs4中Form的使用之本地hiddenfield
2013/11/26 Javascript
javascript不同类型数据之间的运算的转换方法
2014/02/13 Javascript
JQuery实现的购物车功能(可以减少或者添加商品并自动计算价格)
2015/01/13 Javascript
JS截取字符串实例详解
2015/11/24 Javascript
JavaScript实现复制或剪切内容到剪贴板功能的方法
2016/05/23 Javascript
javascript 将共享属性迁移到原型中去的实现方法
2016/08/31 Javascript
jquery radio的取值_radio的选中_radio的重置方法
2016/09/20 Javascript
js 判断附件后缀的简单实现方法
2016/10/11 Javascript
实现vuex与组件data之间的数据同步更新方式
2019/11/12 Javascript
vue实现在线学生录入系统
2020/05/30 Javascript
一些Python中的二维数组的操作方法
2015/05/02 Python
Python基于回溯法子集树模板实现图的遍历功能示例
2017/09/05 Python
Python基于pandas实现json格式转换成dataframe的方法
2018/06/22 Python
Python 多线程其他属性以及继承Thread类详解
2019/08/28 Python
详解Django中views数据查询使用locals()函数进行优化
2020/08/24 Python
关于探究python中sys.argv时遇到的问题详解
2021/02/23 Python
canvas像素画板的实现代码
2018/11/21 HTML / CSS
Needle & Thread官网:英国仙女品牌
2018/01/13 全球购物
MUGLER官方网站:蒂埃里·穆勒香水
2019/11/26 全球购物
渗透攻击的测试步骤
2014/06/07 面试题
机电工程专业应届生求职信
2013/10/03 职场文书
提拔干部考察材料
2014/05/26 职场文书
农村党员对照检查材料
2014/09/24 职场文书
高校自主招生校长推荐信
2015/03/23 职场文书
2016特色励志班级口号
2015/12/24 职场文书
2016年小学教师师德承诺书
2016/03/25 职场文书