一尘不染

Npm postinstall仅在开发中

node.js

我有以下package.json的npm模块

{
  "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链接。

如何仅在之后npm install而不是之后调用postinstall脚本npm install --production


阅读 1024

收藏
2020-07-07

共1个答案

一尘不染

较新的npm(&Yarn)版本包含对prepare在每次install运行后运行的脚本的支持,但仅在开发模式下运行。此外,prepublish已弃用。这应该足够了:

{
  scripts: {
    "prepare": "bower install"
  }
}

文件:https//docs.npmjs.com/misc/scripts

2020-07-07