实例详解带参数的 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 相关文章推荐
jQuery的css()方法用法实例
Dec 24 Javascript
JS实现网页标题随机显示名人名言的方法
Nov 03 Javascript
基于jquery实现的仿优酷图片轮播特效代码
Jan 13 Javascript
基于Bootstrap重置输入框内容按钮插件
May 12 Javascript
JS不用正则验证输入的字符串是否为空(包含空格)的实现代码
Jun 14 Javascript
Angular设置title信息解决SEO方面存在问题
Aug 19 Javascript
jQuery Validate插件实现表单验证
Aug 19 Javascript
Node.js 实现简单小说爬虫实例
Nov 18 Javascript
AngularJS中filter的使用实例详解
Aug 25 Javascript
Vue父子组件之间的通信实例详解
Sep 28 Javascript
layui radio点击事件实现input显示和隐藏的例子
Sep 02 Javascript
如何用threejs实现实时多边形折射
May 07 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/10/23 PHP
php中get_headers函数的作用及用法的详细介绍
2013/04/27 PHP
PHP编码规范的深入探讨
2013/06/06 PHP
PHP实现无限极分类图文教程
2014/11/25 PHP
PHP使用mysqldump命令导出数据库
2015/04/14 PHP
PHP实现动态创建XML文档的方法
2018/03/30 PHP
php抽象方法和普通方法的区别点总结
2019/10/13 PHP
Div Select挡住的解决办法
2008/08/07 Javascript
浏览器窗口大小变化时使用resize事件对框架不起作用的解决方法
2014/05/11 Javascript
jQuery获取页面元素绝对与相对位置的方法
2015/06/10 Javascript
基于JavaScript实现移除(删除)数组中指定元素
2016/01/04 Javascript
JavaScript Array对象详解
2016/03/01 Javascript
使用jQuery.form.js/springmvc框架实现文件上传功能
2016/05/12 Javascript
jQuery Mobile框架中的表单组件基础使用教程
2016/05/17 Javascript
js利用正则表达式检验输入内容是否为网址
2016/07/05 Javascript
AngularJS应用开发思维之依赖注入3
2016/08/19 Javascript
用js控件div的滚动条,让它在内容更新时自动滚到底部的实现方法
2016/10/27 Javascript
微信小程序实现缓存根据不同的id来进行设置和读取缓存
2017/06/12 Javascript
使用JavaScript实现表格编辑器(实例讲解)
2017/08/02 Javascript
AngularJS 仿微信图片手势缩放的实例
2017/09/28 Javascript
javascript实现Emrips反质数枚举的示例代码
2017/12/06 Javascript
深入浅析vue组件间事件传递
2017/12/29 Javascript
.vue文件 加scoped 样式不起作用的解决方法
2018/05/28 Javascript
微信小程序input框中加入小图标的实现方法
2018/06/19 Javascript
JS基于对象的链表实现与使用方法示例
2019/01/31 Javascript
[03:46]DOTA2英雄基础教程 维萨吉
2013/12/11 DOTA
从局部变量和全局变量开始全面解析Python中变量的作用域
2016/06/16 Python
Python实现平行坐标图的两种方法小结
2019/07/04 Python
django之对FileField字段的upload_to的设定方法
2019/07/28 Python
基于TensorFlow的CNN实现Mnist手写数字识别
2020/06/17 Python
财务科科长岗位职责
2014/03/10 职场文书
数字化校园建设方案
2014/05/03 职场文书
物流管理专业求职信
2014/05/29 职场文书
2014员工聘用协议书(最新版)
2014/11/24 职场文书
2015年妇女工作总结
2015/05/14 职场文书
pytorch实现手写数字图片识别
2021/05/20 Python