Node.js 设置NODE_ENV =“ production”

示例

生产部署将在许多方面有所不同,但是在生产中进行部署时的标准约定是定义一个称为的环境变量NODE_ENV并将其值设置为“ production”

运行时标志

应用程序中运行的任何代码(包括外部模块)都可以检查以下值NODE_ENV:

if(process.env.NODE_ENV === 'production') {
    // 我们正在生产模式下运行
} else {
   // 我们正在开发模式下运行
}

依存关系

当NODE_ENV环境变量设置为'production'时devDependencies,package.json文件中所有内容将在运行时被完全忽略npm install。您还可以使用--production标志来强制执行此操作:

npm install --production

对于设置NODE_ENV,你可以使用任何这些方法

方法1:为所有节点应用程序设置NODE_ENV

Windows:

set NODE_ENV=production

Linux或其他基于UNIX的系统:

export NODE_ENV=production

这NODE_ENV将为当前bash会话设置,因此在此语句之后启动的所有应用程序都将NODE_ENV设置为production。

方法2:为当前应用设置NODE_ENV

NODE_ENV=production node app.js

这只会NODE_ENV为当前应用设置。当我们要在不同的环境中测试我们的应用程序时,这会有所帮助。

方法3:创建.env文件并使用它

这使用了此处说明的想法。请参阅此帖子以获取更多详细说明。

基本上,您创建.env文件并运行一些bash脚本以将其设置为环境。

为了避免编写bash脚本,可以使用env-cmd包加载.env文件中定义的环境变量。

env-cmd .env node app.js

方法4:使用cross-env程序包

该软件包允许为每个平台以一种方式设置环境变量。

使用npm安装后,只需package.json按如下所示将其添加到部署脚本中:

"build:deploy": "cross-env NODE_ENV=production webpack"