描述
script是package.json文件的一个属性,支持许多内置命令、预设生命周期事件以及自定义脚本命令。它们都可以被npm run-script
Pre & Post 命令
要为package.json中script模块中的命令创建pre和post命令只需创建其他匹配name增加pre或者post前缀即可
{
"scripts": {
"precompress": "{{ executes BEFORE the `compress` script }}",
"compress": "{{ run command to compress files }}",
"postcompress": "{{ executes AFTER `compress` script }}"
}
}
生命周期命令
这是一些特殊的生命周期脚本,除了在对应pre和post的时机,在某些特定情况下也会执行。
prepare, prepublish, prepublishOnly, prepack, postpack
- prepare (since npm@4.0.0)
- 在pack之前执行
- 在publish之前执行
- 不带参数的npm install时执行
- 在prepublish之后,prepublishOnly之前执行
- 提示:如果一个包通过git下载,包含prepare命令,在打包和下载之前它的dependencies和devDependencies将被下载,它的prepare命令将执行
- prepublish (DEPRECATED)
- 和prepare一样
- prepublishOnly
- 仅在npm publish的时候执行,时机在prepare之前pack之后
- prepack
- 在npm pack、npm publish和下载一个git作为依赖的依赖包
- 提示:npm run pack和npm pack是不一样的。npm run pack是执行用户定义的指令名称,npm pack是cli定义的命令。
postpack
npm publish
- prepublishOnly
- prepare
- prepublish
- publish
- postpublish
- npm pack
- prepack
- postpack
- npm install
- preinstall
- install
- postinstall
- Also triggers
- prepublish (when on local)
- prepare (when on local)
- npm start