npm-script
-
什么是npm-脚本
-
允许在package.json文件里面,使用scripts字段定义脚本命令。
{ // ... "scripts": { "build": "node build.js" } }
上面代码是package.json文件的一个片段,里面的scripts字段是一个对象。它的每一个属性,对应一段脚本。比如,build命令对应的脚本是node build.js。
命令行下使用npm run命令,就可以执行这段脚本。
$ npm run build // 等同于执行 $ node build.js
-
这些定义在package.json里面的脚本,就称为 npm 脚本。它的优点很多。
-
项目的相关脚本,可以集中在一个地方。
-
不同项目的脚本命令,只要功能相同,就可以有同样的对外接口。
用户不需要知道怎么测试你的项目,只要运行npm run test即可。 -
可以利用 npm 提供的很多辅助功能。
-
查看当前项目的所有 npm 脚本命令,可以使用不带任何参数的npm run命令。
$ npm run
-
-
-
原理
-
npm 脚本的原理非常简单。每当执行npm run,就会自动新建一个 Shell,在这个 Shell 里面执行指定的脚本命令。因此,只要是 Shell(一般是 Bash)可以运行的命令,就可以写在 npm 脚本里面。
比较特别的是,npm run新建的这个 Shell,会将当前目录的node_modules/.bin子目录加入PATH变量,执行结束后,再将PATH变量恢复原样。
这意味着,当前目录的 node_modules/.bin 子目录里面的所有脚本,都可以直接用脚本名调用,而不必加上路径。比如,当前项目的依赖里面有 Mocha,只要直接写 mocha test 就可以了。
"test": "mocha test" 而不用写成下面这样。 "test":
-