node.js 仅用于生产的 npm 依赖项
node.js npm dependencies for production only
也许我在这里完全偏离了轨道,我正在追逐错误的想法:
我有一个 node.js 项目,其中包含一个 npm 模块(我们称之为 my_npm_module),我也在努力。
模块的目录像这样链接到我的项目中:
/home
|
|__ myproject
| |
| |__ node_modules
| |__ some_other_module
| |__ my_npm_module (should only get installed/updated in production mode)
| |__ my_npm_module (symlinked only in development mode from /home/modules/mymodule)
|
|__modules
|__ my_npm_module (symlinked to /home/myproject/node_modules/mymodule)
现在,当我在开发模式下调用 npm install/update 时,我不希望我的模块获得 installed/updated,因为我想使用符号链接版本。
但我希望我的模块在生产模式下获得 installed/updated。并且 仅 处于生产(NODE_ENV=生产)模式。
因为 package.json "dependencies" installs/updates 对于任何一种模式,即开发 和 生产和 "devDependencies" installs/updates 对于仅限开发模式,我有点卡在这里。
我正在寻找的是 "productionDependencies" 之类的东西,或者至少是涵盖这种情况的解决方案。
抱歉,没有办法。
您可以做的是在部署时添加一个额外的行。
$ npm install my_module
$ NODE_ENV=production npm install
当您完成模块开发时(假设您不想再 link 它,因为它已准备好用于生产),您只需删除该额外行并将其添加到您的依赖项中。
另一个想法是在部署脚本中修改 package.json
生产文件。这将确保只为生产安装该模块。
也许我在这里完全偏离了轨道,我正在追逐错误的想法:
我有一个 node.js 项目,其中包含一个 npm 模块(我们称之为 my_npm_module),我也在努力。
模块的目录像这样链接到我的项目中:
/home
|
|__ myproject
| |
| |__ node_modules
| |__ some_other_module
| |__ my_npm_module (should only get installed/updated in production mode)
| |__ my_npm_module (symlinked only in development mode from /home/modules/mymodule)
|
|__modules
|__ my_npm_module (symlinked to /home/myproject/node_modules/mymodule)
现在,当我在开发模式下调用 npm install/update 时,我不希望我的模块获得 installed/updated,因为我想使用符号链接版本。
但我希望我的模块在生产模式下获得 installed/updated。并且 仅 处于生产(NODE_ENV=生产)模式。
因为 package.json "dependencies" installs/updates 对于任何一种模式,即开发 和 生产和 "devDependencies" installs/updates 对于仅限开发模式,我有点卡在这里。
我正在寻找的是 "productionDependencies" 之类的东西,或者至少是涵盖这种情况的解决方案。
抱歉,没有办法。
您可以做的是在部署时添加一个额外的行。
$ npm install my_module
$ NODE_ENV=production npm install
当您完成模块开发时(假设您不想再 link 它,因为它已准备好用于生产),您只需删除该额外行并将其添加到您的依赖项中。
另一个想法是在部署脚本中修改 package.json
生产文件。这将确保只为生产安装该模块。