Npm postinstall 仅用于开发
我有带有以下 package.json
{
"name": "my-app",
"version": "0.0.0",
"scripts": {
"prepublish": "bower install",
"build": "gulp"
},
"dependencies": {
"express": "~4.0.0",
"body-parser": "~1.0.1"
},
"devDependencies": {
"gulp": "~3.6.0",
"bower": "~1.3.2"
}
}
当我将我的应用程序部署到生产环境时,我不想安装 devDependecies
,所以我运行 npm install --production
.但是在这种情况下,调用了 prepublish
脚本,但不需要,因为我在生产中使用 CDN 链接.
When I deploy my app to production, I don't want install devDependecies
, so, I run npm install --production
. But in this case, prepublish
script is called, but it doesn't need to, because I use CDN links in production.
如何只在 npm install
之后而不是在 npm install --production
之后调用 postinstall
脚本?
How to call postinstall
script only after npm install
but not after npm install --production
?
推荐答案
较新的 npm (& Yarn) 版本包括对在每个 install
prepare 脚本的支持> 运行但仅在开发模式下.此外,prepublish
已被弃用.这应该足够了:
Newer npm (& Yarn) versions include support for the prepare
script that is run after each install
run but only in development mode. Also, the prepublish
is deprecated. This should be enough:
{
scripts: {
"prepare": "bower install"
}
}
文档:https://docs.npmjs.com/misc/scripts
相关文章