相关文章推荐
独立的胡萝卜  ·  关于 nng/nanomsg ...·  1 年前    · 
爽快的盒饭  ·  docker 部署jemter ...·  1 年前    · 
豪情万千的风衣  ·  Java 进阶 & JSONPath ...·  1 年前    · 
[Node.js]-设置生产环境变量

[Node.js]-设置生产环境变量

例子

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

运行时标志

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

if(process.env.NODE_ENV === 'production') {
    // We are running in production mode
} else {
   // We are running in development mode
}

依存关系

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 文件并使用它

参阅此帖子以获取更多详细说明: Setting Environment Variables for Node to retrieve

创建 .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"

发布于 2021-05-23 00:06

文章被以下专栏收录