一、执行原理

安装npm 包,会将其package.json bin 字段添加到node_modules bin 里面,创建对应的.cmd文件,因此:

例如:

"scripts":{ "test": "mocha" }npm run test => 等同于
./node_modules/.bin/mocha然后:依旧是通过node 调用包bin字段对应的文件bin 文件第一行 #!/usr/bin/env node
二、传入参数
"scripts":{ "test": "mocha --reporter spec" }在 shell 中传入的参数都要使用 -- 隔开,这个 -- 被视作 npm run 命令参数的结束,-- 后面的内容都会原封不动地传给运行的命令。

三、通配符
"lint": "jshint *.js"
"lint": "jshint **/*.js"
*表示任意文件名,**表示任意一层子目录。四、执行顺序1.并行
$ npm run script1.js & npm run script2.js

继发执行(即只有前一个任务成功,才执行下一个任务
$ npm run script1.js && npm run script2.js
五、变量
npm 脚本有一个非常强大的功能,就是可以使用 npm 的内部变量。
{"name": "foo", "version": "1.2.5", "scripts": { "view": "node view.js" } }
// view.js
console.log(process.env.npm_package_name); // foo console.log(process.env.npm_package_version); // 1.2.5
六、常用脚本
// 删除目录
"clean": "rimraf dist/*",  // 本地搭建一个 HTTP 服务 "serve": "http-server -p 9090 dist/",  // 打开浏览器 "open:dev": "opener http://localhost:9090",  // 实时刷新 "livereload": "live-reload --port 9091 dist/",  // 构建 HTML 文件 "build:html": "jade index.jade > dist/index.html",  // 只要 CSS 文件有变动,就重新执行构建 "watch:css": "watch 'npm run build:css' assets/styles/",  // 只要 HTML 文件有变动,就重新执行构建 "watch:html": "watch 'npm run build:html' assets/html",  // 部署到 Amazon S3 "deploy:prod": "s3-cli sync ./dist/ s3://example-com/prod-site/",  // 构建 favicon "build:favicon": "node scripts/favicon.js",
 

参考:

npm scripts 使用指南

为什么使用 npm Scripts 构建项目

npm script 用法详解

转载于:https://www.cnblogs.com/shangyueyue/p/10034225.html

二、npm scripts相关推荐

  1. (25)npm scripts 实践—构建脚本文件

    一.先来看2张对比图 通过如下2个图片,我们看到,我们应该构建好以后再进行浏览器中运行.没有构建前是ES6的箭头函数写法,我们要转换成ES5的写法然后再运行.为什么要构建?因为ES6再某些浏览器是不支 ...

  2. (21)npm scripts 实现自动化构建的最简方式

    一.什么是 npm scripts npm 允许在 package.json 文件中,使用 scripts 字段定义脚本命令. 二.npm scripts 自定义脚本命令 三.自动化构建样式文件 四. ...

  3. (22)npm scripts 实践—构建样式文件

    将 less 转成 css 安装less命令:npm i less -g 转换命令:lessc input.less output.css 压缩 css 文件 安装压缩包命令:npm i minify ...

  4. npm scripts

    实现自动化构建的最简方式 什么是 npm scripts • npm 允许在 package.json 文件中,使用 scripts 字段定义脚本 npm scripts 自定义脚本命令 1. 声明命 ...

  5. npm scripts的生命周期管理

    2019独角兽企业重金招聘Python工程师标准>>> 我们平时阅读一些开源项目,可能会发现有些项目的package.json里的scripts区域定义的脚本很复杂,令人眼花缭乱. ...

  6. npm scripts详解

    前言 这个主题之前有分享过的,不过没有今天这么基础,本文由@yangfch3带来的分享,比较偏原理跟实践性. 正文从这开始- npm 不仅可以用于 模块管理,还可以用于 执行脚本. package.j ...

  7. npm scripts中run serve命令详解

    闲来无事,分析npm run serve会发生哪些事情,一分析,发现其中有很大的奥妙. 1.首先npm run serve 会在package.json文件中寻找scripts中的 serve属性(有 ...

  8. webpack4.0打包优化策略(二)

    打包优化策略 webpack4.0打包优化策略(一) webpack4.0打包优化策略(二) webpack4.0打包优化策略(三) 区分开发和生产环境 通常我们在开发网页时需要区分构建环境 开发环境 ...

  9. iview admin npm install报错_聊聊NPM镜像那些险象环生的坑

    作者:JowayYoung 仓库:Github.CodePen 博客:掘金.思否.知乎.简书.头条.CSDN 公众号:IQ前端 联系我:关注公众号后有我的微信哟 特别声明:原创不易,未经授权不得对此文 ...

  10. 尤雨溪推荐神器 ni ,能替代 npm/yarn/pnpm ?简单好用!源码揭秘!

    1. 前言 大家好,我是若川.最近组织了源码共读活动,感兴趣的可以加我微信 ruochuan12 想学源码,极力推荐之前我写的<学习源码整体架构系列>jQuery.underscore.l ...

最新文章

  1. Vagrant搭建Ubuntu-JavaEE开发环境——Tomcat+JDK+MySQL+dubbo+测试
  2. poj3624 Charm Bracelet DP 01背包问题
  3. Java培训教程之使用Lock取代synchronized
  4. 金融统计分析与挖掘实战5.1-5.2
  5. Exchange 2010安装必要条件
  6. 项目2:PHP抽奖程序 ,抽奖规则代码
  7. UA PHYS515 电磁理论II 静电场问题7 柱坐标系中的Laplace方程与Bessel函数
  8. 老王的JAVA基础课:第1课 计算机基础知识
  9. 文本生成图像这么火,你需要了解这些技术的演变
  10. 航测大数据量处理_上海无人机航测收费标准大数据应用中心
  11. 带符号整数的除法与余数
  12. 批量修改文件名 大量文件名称一键替换文字
  13. python 策略回测期货_量化投资实战教程(1)—基于backtrader的简单买入卖出策略
  14. 【19调剂】中国科学院上海天文台接收报考硕士研究生调剂生的通知
  15. python程序设计与基础教程第六章上机实验_《Python程序设计与算法基础教程》教学大纲.doc...
  16. 【Ceph 】Async 网络通信源代码分析--研读
  17. 【51Nod1585】买邮票送邮票
  18. 魔术师乔布斯,炼金术士苹果——苹果公司第四季度报表简评
  19. PHP解码 解析二维码
  20. 第一个SOFARPC工程

热门文章

  1. C程序设计--排序(冒泡、选择、插入)--插入
  2. python ** 运算符_Python学习第二天--运算符小结
  3. python打包成exe去cmd_完美起航-python打包exe之打包深度学习模型踩坑记录及其解决办法。...
  4. opengl 如何加阴影_一步步学OpenGL(23) -《阴影贴图1》
  5. gradle java ide_用最简单的gradle代码,解决你java项目中的jar依赖之苦
  6. ispalpha函数与islower
  7. STM32——库函数版——超声波测距模块(HC-SR04)
  8. 马尔科夫决策过程(MDP) : GridWord(DP)
  9. TSAP(4) : 时间序列采样[asfreq( ) VS resample( )]
  10. [PAT B1020] 月饼