实例详解带参数的 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中的数字与字符串相加实例分析
Aug 14 Javascript
让浏览器DOM元素最后加载的js方法
Jul 29 Javascript
jQuery修改li下的样式以及li下的img的src的值的方法
Nov 02 Javascript
学习javascript面向对象 掌握创建对象的9种方式
Jan 04 Javascript
Javascript别踩白块儿(钢琴块儿)小游戏实现代码
Jul 20 Javascript
Angular将填入表单的数据渲染到表格的方法
Sep 22 Javascript
Vue组件之单向数据流的解决方法
Nov 10 Javascript
react配置antd按需加载的使用
Feb 11 Javascript
Vue 动态组件与 v-once 指令的实现
Feb 12 Javascript
JS使用正则表达式判断输入框失去焦点事件
Oct 16 Javascript
vue elementui 实现搜索栏公共组件封装的实例代码
Jan 20 Javascript
JavaScript 实现自己的安卓手机自动化工具脚本(推荐)
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
Zerg剧情介绍
2020/03/14 星际争霸
重置版战役片段
2020/04/09 魔兽争霸
实用函数8
2007/11/08 PHP
php把字符串指定字符分割成数组的方法
2018/03/12 PHP
javascript firefox兼容ie的dom方法脚本
2008/05/18 Javascript
JavaScript事件处理器中的event参数使用介绍
2013/05/24 Javascript
JavaScript实现俄罗斯方块游戏过程分析及源码分享
2015/03/23 Javascript
JavaScript获取网页表单提交方式的方法
2015/04/02 Javascript
javascript实现简单的省市区三级联动
2015/05/14 Javascript
JavaScript鼠标特效大全
2016/09/13 Javascript
ReactNative页面跳转Navigator实现的示例代码
2017/08/02 Javascript
Angular使用cli生成自定义文件、组件的方法
2018/09/04 Javascript
Vue项目中配置pug解析支持
2019/05/10 Javascript
layui 数据表格 点击分页按钮 监听事件的实例
2019/09/02 Javascript
koa2 数据api中间件设计模型的实现方法
2020/07/13 Javascript
vue2.* element tabs tab-pane 动态加载组件操作
2020/07/19 Javascript
Python def函数的定义、使用及参数传递实现代码
2014/08/10 Python
Flask的图形化管理界面搭建框架Flask-Admin的使用教程
2016/06/13 Python
python生成1行四列全2矩阵的方法
2018/08/04 Python
python实现生成字符串大小写字母和数字的各种组合
2019/01/01 Python
10 分钟快速入门 Python3的教程
2019/01/29 Python
浅谈PyQt5 的帮助文档查找方法,可以查看每个类的方法
2019/06/25 Python
Django MEDIA的配置及用法详解
2019/07/25 Python
seek引发的python文件读写的问题及解决
2019/07/26 Python
python tkinter实现下载进度条及抖音视频去水印原理
2021/02/07 Python
HTML5实现WebSocket协议原理浅析
2014/07/07 HTML / CSS
Cotton On美国网站:澳洲时装连锁品牌
2016/10/25 全球购物
西班牙自行车和跑步商店:Alltricks
2018/07/07 全球购物
应届大学生求职的自我评价
2013/11/17 职场文书
会议通知范文
2015/04/15 职场文书
七一晚会主持词
2015/06/29 职场文书
聘任书范文大全
2015/09/21 职场文书
2016年党员创先争优承诺书
2016/03/25 职场文书
MySQL索引是啥?不懂就问
2021/07/21 MySQL
JAVA 线程池(池化技术)的实现原理
2022/04/28 Java/Android
大型强子对撞机再次重启探索“第五种自然力”
2022/04/29 数码科技