实例详解带参数的 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获取当页面上鼠标光标位置和触发事件的对象的代码
Dec 09 Javascript
Jquery实现搜索框提示功能示例代码
Aug 13 Javascript
JavaScript基础语法、dom操作树及document对象
Dec 02 Javascript
Angular2学习笔记——详解NgModule模块
Dec 02 Javascript
node.js爬虫爬取拉勾网职位信息
Mar 14 Javascript
基于jQuery选择器之表单对象属性筛选选择器的实例
Sep 19 jQuery
JS基于for语句编写的九九乘法表示例
Jan 04 Javascript
详解angular2如何手动点击特定元素上的点击事件
Oct 16 Javascript
vue-cli脚手架打包静态资源请求出错的原因与解决
Jun 06 Javascript
vue项目部署到nginx/tomcat服务器的实现
Aug 26 Javascript
微信小程序如何实现在线客服功能
Oct 16 Javascript
解决vue单页面多个组件嵌套监听浏览器窗口变化问题
Jul 30 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.MVC的模板标签系统(三)
2006/09/05 PHP
10条PHP高级技巧[修正版]
2011/08/02 PHP
ThinkPHP结合AjaxFileUploader实现无刷新文件上传的方法
2014/10/29 PHP
php正则替换处理HTML页面的方法
2015/06/17 PHP
PHP的Laravel框架结合MySQL与Redis数据库的使用部署
2016/03/21 PHP
微信公众平台开发教程④ ThinkPHP框架下微信支付功能图文详解
2019/04/10 PHP
MSN消息提示类
2006/09/05 Javascript
javascript编程起步(第四课)
2007/02/27 Javascript
把JS与CSS写在同一个文件里的书写方法
2007/06/02 Javascript
jQuery中next()方法用法实例
2015/01/07 Javascript
JQuery中serialize() 序列化
2015/03/13 Javascript
JavaScript实现搜索框的自动完成功能(一)
2016/02/25 Javascript
jQuery图片加载显示loading效果
2016/11/04 Javascript
AngularJS Toaster使用详解
2017/02/24 Javascript
微信小程序上滑加载下拉刷新(onscrollLower)分批加载数据(一)
2017/05/11 Javascript
jquery radio 动态控制选中失效问题的解决方法
2018/02/28 jQuery
layui select 禁止点击的实现方法
2019/09/05 Javascript
vue导航栏部分的动态渲染实例
2019/11/01 Javascript
vue 弹出遮罩层样式实例
2020/07/22 Javascript
[03:39]2015国际邀请赛主赛事首日精彩回顾
2015/08/05 DOTA
python开发准备工作之配置虚拟环境(非常重要)
2019/02/11 Python
查看python安装路径及pip安装的包列表及路径
2019/04/03 Python
简单了解python中的与或非运算
2019/09/18 Python
Python中生成一个指定长度的随机字符串实现示例
2019/11/06 Python
Python requests模块session代码实例
2020/04/14 Python
Pycharm2020.1安装无法启动问题即设置中文插件的方法
2020/08/07 Python
python各种excel写入方式的速度对比
2020/11/10 Python
用sleep间隔进行python反爬虫的实例讲解
2020/11/30 Python
捷克厨房用品购物网站:Tescoma
2018/07/13 全球购物
美国最佳选择产品网站:Best Choice Products
2019/05/27 全球购物
车间班组长的职责
2013/12/13 职场文书
社区中秋节活动方案
2014/01/29 职场文书
毕业生党员个人总结
2015/02/14 职场文书
民主评议党员个人自我评价
2015/03/03 职场文书
2015小学教师德育工作总结
2015/05/12 职场文书
骆驼祥子读书笔记
2015/06/26 职场文书