在Ubuntu中这很简单;我可以运行应用程序使用:

$ NODE_ENV=production node myapp/app.js

但是,这在Windows上不起作用。是否有可以设置属性的配置文件?


当前回答

下面是非命令行方法:

在Windows 7和Windows 10操作系统中,在开始菜单搜索框中输入“environment”,选择“编辑系统环境变量”。

或者,导航到控制面板\系统和安全\系统,然后单击高级系统设置

这将打开“系统属性”对话框,选中“高级”选项卡。在底部,你会看到一个环境变量…按钮。点击这个。

将打开“环境变量”对话框。

在底部,在系统变量下,选择New…这将打开“新建系统变量”对话框。

输入变量名和值,然后单击OK。

您需要关闭所有cmd提示并重新启动服务器,以便process.env可以使用新变量。如果仍然没有显示,请重新启动计算机。

其他回答

对于多个环境变量,.env文件更方便:

# .env.example, committed to repo
DB_HOST=localhost
DB_USER=root
DB_PASS=s1mpl3
# .env, private, .gitignore it
DB_HOST=real-hostname.example.com
DB_USER=real-user-name
DB_PASS=REAL_PASSWORD

dotenv-safe很容易使用:

使用npm Install——save-dev dotenv-safe安装。 将它包含在代码中(最好在index.js的开头),并直接与进程一起使用它。env命令:

require('dotenv').load()
console.log(process.env.DB_HOST)   

不要忘记忽略VCS中的.env文件。

如果在.env中“定义”了一个变量,那么程序就会快速失败。Example作为环境变量或在.env中被取消设置。

在Windows 10中,我使用$env:NODE_ENV="Production"

这在我的vscode终端上工作。但如果你的服务器正在监听,首先需要停止并设置你的env变量,然后重新启动应用程序。这种方法对我很有效。

PowerShell:

$env:NODE_ENV="production"

这不会设置一个变量,但在很多情况下是有用的。我不建议在生产环境中使用这个方法,但是如果你正在使用npm,它应该是可以的。

npm install --production

我使用npm脚本运行一个没有“&&”的gulp任务

NODE_ENV=testcases运行seed-db