Nodejs NODE_ENV=production 环境变量怎么设置

Nodejs NODE_ENV=production 环境变量怎么设置

在win 环境下 node.js这个环境变量是怎么设置的,配置过程是什么?

15 回复

Nodejs NODE_ENV=production 环境变量怎么设置

在Node.js开发中,NODE_ENV 环境变量是一个非常重要的配置项。通常情况下,我们会在生产环境中将其设置为 production,而在开发环境中设置为 development。这可以帮助我们在不同的环境中执行不同的逻辑。

在 Windows 环境下设置 NODE_ENV

在Windows系统中,你可以通过多种方式来设置环境变量。下面是几种常见的方法:

  1. 命令行设置临时环境变量

    如果你只是想在当前的命令行会话中临时设置 NODE_ENV,可以使用以下命令:

    set NODE_ENV=production
    

    这样设置的环境变量仅在当前命令提示符窗口中有效。当你关闭该窗口后,环境变量将被清除。

  2. 永久设置环境变量

    如果你想永久性地设置 NODE_ENV,你需要通过系统的环境变量设置工具进行操作。

    • 打开“控制面板” -> “系统和安全” -> “系统” -> “高级系统设置”。
    • 点击“环境变量”按钮。
    • 在“用户变量”或“系统变量”部分,点击“新建”。
    • 输入变量名为 NODE_ENV,变量值为 production
    • 点击“确定”保存更改。
  3. 在脚本中动态设置环境变量

    如果你希望在运行Node.js应用程序时动态设置环境变量,可以在启动命令中直接添加:

    set NODE_ENV=production & node app.js
    

    或者如果你使用的是 npm 脚本,可以在 package.json 文件中设置:

    {
      "scripts": {
        "start": "set NODE_ENV=production && node app.js"
      }
    }
    

    注意:在 Windows 中使用 && 来连接命令。

  4. 使用 .env 文件

    你也可以使用 .env 文件来管理环境变量。首先需要安装 dotenv 包:

    npm install dotenv
    

    然后在你的项目根目录下创建一个 .env 文件,并添加以下内容:

    NODE_ENV=production
    

    最后,在你的Node.js应用入口文件中加载环境变量:

    require('dotenv').config();
    console.log(process.env.NODE_ENV); // 输出 "production"
    

通过以上方法,你可以在Windows环境下成功设置 NODE_ENV 环境变量,从而更好地管理和区分不同的部署环境。


process.chdir(path) //具体看api文档

试试 命令行执行 set process.env.NODE_ENV = production

SET NODE_ENV=production
node app.js
// app.js

console.log(process.env.NODE_ENV);

我记得windows不是有一个环境变量的配置窗口吗?

npm run xxx --production // app.js console.log(process.env.NODE_ENV); production

如果用webstorm开发的话 QQ截图20160923115412.png

不建议npm run方式,还是学好linux

linux
export NODE_ENV=production ; node app.js 这个只对当前终端有效

你在npm script里设置NODE_ENV 可以起作用的

"scripts": {
        "release": "set NODE_ENV=production&&grunt rtm",
        "dev": "set NODE_ENV=development&&grunt watch",
    },

npm install --save-dev cross-env 用这个

npm i cross-env --save-dev

cross-env NODE_ENV=blablabl

shell

NODE_ENV=development node app.js

cmd

set NODE_ENV=development
node app.js

mark — From LBRC

在Node.js中,NODE_ENV环境变量通常用于区分应用程序的不同运行环境(如开发环境、测试环境和生产环境)。在Windows环境下设置这个变量相对简单。以下是具体的步骤和示例代码。

设置方法

方法1:通过命令行设置

打开命令提示符(CMD)或PowerShell,并输入以下命令:

set NODE_ENV=production

然后你可以立即在你的Node.js应用中访问这个环境变量。如果你使用的是批处理文件(.bat),你可以直接在文件中添加这一行:

set NODE_ENV=production
node app.js

方法2:通过系统设置

  1. 打开“系统属性”(可以在搜索栏中输入“编辑系统环境变量”来找到)。
  2. 点击“环境变量”按钮。
  3. 在系统变量或用户变量部分点击“新建”。
  4. 输入变量名 NODE_ENV 和变量值 production
  5. 点击“确定”保存设置。

注意:这种方法需要重新启动任何正在运行的应用程序或命令提示符才能使更改生效。

示例代码

假设你已经设置了NODE_ENVproduction,你可以在Node.js应用中使用它来区分不同的环境。例如:

const environment = process.env.NODE_ENV || 'development';

if (environment === 'production') {
    console.log('当前环境为生产环境');
    // 生产环境特有的配置
} else {
    console.log('当前环境为开发环境');
    // 开发环境特有的配置
}

总结

通过以上方法,你可以轻松地在Windows环境中设置NODE_ENVproduction,从而根据不同的环境执行相应的逻辑。这有助于提高应用的安全性和性能。

回到顶部