npm 腳本有pre和post兩個鈎子。舉例來說,build腳本命令的鈎子就是prebuild和postbuild:
{
"scripts": {
"prebuild": "echo I run before the build script",
"build": "webpack",
"postbuild": "echo I run after the build script"
}
}
用戶執行npm run build的時候,會自動按照下面的順序執行。
npm run prebuild && npm run build && npm run postbuild (&&代表繼發執行,執行完前面再執行后面;&代表並行執行,同時執行)
因此,可以在這兩個鈎子里面,完成一些准備工作和清理工作。eg:
{
"scripts": {
"clean": "rm -rf ./dist && mkdir dist",
"prebuild": "npm run clean",
"build": "webpack"
}
}
執行npm run build時就會執行npm run prebuild && npm run build
npm 默認提供下面這些鈎子:
prepublish, publish, postpublish:發布模塊
preinstall, install, postinstall:安裝模塊
preuninstall, uninstall, postuninstall:卸載模塊
preversion, version, postversion:在使用 npm version 修改版本號的時候執行
pretest, test, posttest:執行 npm test 的時候
prestop, stop, poststop:執行 npm stop 的時候
prestart, start, poststart:執行 npm start 的時候
prerestart, restart, postrestart:執行 npm restart 的時候
preshrinkwrap, shrinkwrap, postshrinkwrap 執行 npm shrinkwrap 的時候