npm 钩子使用指南
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
因此,可以在这两个钩子里面,完成一些准备工作和清理工作。下面是一个例子。
{
"scripts": {
"clean": "rm -rf ./dist && mkdir dist",
"prebuild": "npm run clean",
"build": "webpack"
}
}
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 的时候