描述
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
 
