实例详解带参数的 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 相关文章推荐
Ucren Virtual Desktop V2.0
Nov 07 Javascript
javascript实现的距离现在多长时间后的一个格式化的日期
Oct 29 Javascript
Javascript 面向对象之重载
May 04 Javascript
picChange 图片切换特效的函数代码
May 06 Javascript
$.format,jquery.format 使用说明
Jul 13 Javascript
jquery中$.post()方法的简单实例
Feb 04 Javascript
javascript实现uploadify上传格式以及个数限制
Nov 23 Javascript
javascript html5摇一摇功能的实现
Apr 19 Javascript
jquery自定义插件开发之window的实现过程
May 06 Javascript
jQuery增加、删除及修改select option的方法
Aug 19 Javascript
jQuery使用ajax_动力节点Java学院整理
Jul 05 jQuery
React-Native中禁用Navigator手势返回的示例代码
Sep 09 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 5.3新特性命名空间规则解析及高级功能
2010/03/11 PHP
php实现格式化多行文本为Js可用格式
2015/04/15 PHP
Yii基于CActiveForm的Ajax数据验证用法示例
2016/07/14 PHP
php session的应用详细介绍
2017/03/22 PHP
PHP实现chrome表单请求数据转换为接口使用的json数据
2021/03/04 PHP
jQuery 中关于CSS操作部分使用说明
2007/06/10 Javascript
JavaScript Event学习第二章 Event浏览器兼容性
2010/02/07 Javascript
javascript 设为首页与加入收藏兼容多浏览器代码
2011/01/11 Javascript
jquery中ajax使用error调试错误的方法
2015/02/08 Javascript
详解BootStrap中Affix控件的使用及保持布局的美观的方法
2016/07/08 Javascript
JS简单实现数组去重的方法示例
2017/03/27 Javascript
纯JS实现图片验证码功能并兼容IE6-8(推荐)
2017/04/19 Javascript
JavaScript中call和apply方法的区别实例分析
2018/08/03 Javascript
浅谈微信小程序之官方UI框架we-ui使用教程
2018/08/20 Javascript
vue-router实现嵌套路由的讲解
2019/01/19 Javascript
Easyui 关闭jquery-easui tab标签页前触发事件的解决方法
2019/04/28 jQuery
vue新建项目并配置标准路由过程解析
2019/12/09 Javascript
微信小程序实现页面左右滑动
2020/11/16 Javascript
[46:40]VGJ.T vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
[01:10:24]DOTA2-DPC中国联赛 正赛 VG vs Aster BO3 第一场 2月28日
2021/03/11 DOTA
python检测远程端口是否打开的方法
2015/03/14 Python
Python通过90行代码搭建一个音乐搜索工具
2015/07/29 Python
python脚本监控docker容器
2016/04/27 Python
Python使用matplotlib的pie函数绘制饼状图功能示例
2018/01/08 Python
python psutil模块使用方法解析
2019/08/01 Python
python基于property()函数定义属性
2020/01/22 Python
Python接口自动化系列之unittest结合ddt的使用教程详解
2021/02/23 Python
基于MUI框架使用HTML5实现的二维码扫描功能
2018/03/01 HTML / CSS
为什么使用接口?
2014/08/13 面试题
销售冠军获奖感言
2014/02/03 职场文书
2014年元旦促销活动方案
2014/02/22 职场文书
贸易跟单员英文求职信
2014/04/19 职场文书
2014幼儿园教师个人工作总结
2014/11/08 职场文书
2015年治庸问责工作总结
2015/07/27 职场文书
中学总务处工作总结
2015/08/12 职场文书
告诉你一个秘密:富人致富的五大优点
2019/07/11 职场文书