npm scripts存在很多脚本, 例如 npm publish
, npm install/uninstall
等等。但是 npm 还支持很多在 package.json 中定义的 hooks 脚本
这里介绍一下常用的脚本
适用于执行 npm publish 之前, 你需要运行脚本, 例如构建代码
适用于执行 npm publish 或者 npm install, 我当前没有想到什么好的应用场景。
用于 npm publish 执行之后,调用。 例如推送代码到 git
用于 npm install 时, 执行某个脚本。例如安装 node-sass, 每次都会执行一段脚本
{
"name": "node-sass",
"version": "4.12.0",
"libsass": "3.5.4",
"scripts": {
"coverage": "node scripts/coverage.js",
"install": "node scripts/install.js", "postinstall": "node scripts/build.js",
"lint": "node_modules/.bin/eslint bin/node-sass lib scripts test",
"test": "node_modules/.bin/mocha test/{*,**/**}.js",
"build": "node scripts/build.js --force",
"prepublish": "not-in-install && node scripts/prepublish.js || in-install"
}
}
注意, 和 prepare 不同, install 只会执行于被安装的包中。
按照个人的经验, 尽量避免使用
install
, 因为这会导致很多不可预见的问题。
yarn 的
build fresh package
这一过程就是指执行 install 的脚本
npm 也可以执行自定义的脚本, 例如
{
"name": "my-pkg",
"scripts": {
"dev": "echo hello my-pkg"
}
}
你可以使用npm run dev
执行