如何知道我的节点模块是在开发模式还是依赖模式下安装

问题描述 投票:0回答:1

跑步有两种不同的情况

npm install
:

  1. 您在项目的根目录中运行
    npm install
  2. 有人将您的模块添加为他们自己项目的依赖项,然后他们运行
    npm install

npm
运行您在
postinstall
中指定的
package.json
脚本。

npm
意识到了这种差异,这就是为什么它在第一种情况下安装你的
devDependencies
并在第二种情况下跳过它们。

我需要在我的

postinstall
脚本中了解这一点,例如:

if (DEPENDENCY_MODE) {
    // someone added me to their dependencies
    // download a Minimal version of some binary
} else {
    // I'm being developed by my maintainer
    // download a Verbose version of some binary
}

是否有任何全局/环境变量可供我检查以获取此详细信息?

node.js npm npm-install npm-scripts
1个回答
0
投票

Nodejs 自己的文档从字面上涵盖了您的问题,在第一部分中带有代码:

Node.js 假定它始终在开发环境中运行。您可以通过设置 NODE_ENV=生产环境变量来向 Node.js 发出您正在生产环境中运行的信号。

至于如何检查你所处的模式,在你的代码中:

可以使用条件语句在不同环境下执行代码:

if (process.env.NODE_ENV === 'development') {
  // ...
}

if (process.env.NODE_ENV === 'production') {
  // ...
}

if (['production', 'staging'].includes(process.env.NODE_ENV)) {
  // ...
}

一定要通读 Nodejs 文档,它们往往已经涵盖了您可能遇到的任何问题。

(注意,没有“依赖模式”这样的东西,它称为“开发模式”)

© www.soinside.com 2019 - 2024. All rights reserved.