npm 钩子使用指南

npm 脚本有prepost两个钩子。举例来说,build脚本命令的钩子就是prebuildpostbuild:
  1. {
  2. "scripts": {
  3. "prebuild": "echo I run before the build script",
  4. "build": "webpack",
  5. "postbuild": "echo I run after the build script"
  6. }
  7. }
用户执行npm run build的时候,会自动按照下面的顺序执行。 npm run prebuild && npm run build && npm run postbuild 因此,可以在这两个钩子里面,完成一些准备工作和清理工作。下面是一个例子。
  1. {
  2. "scripts": {
  3. "clean": "rm -rf ./dist && mkdir dist",
  4. "prebuild": "npm run clean",
  5. "build": "webpack"
  6. }
  7. }
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 的时候