在Ubuntu中这很简单;我可以运行应用程序使用:
$ NODE_ENV=production node myapp/app.js
但是,这在Windows上不起作用。是否有可以设置属性的配置文件?
在Ubuntu中这很简单;我可以运行应用程序使用:
$ NODE_ENV=production node myapp/app.js
但是,这在Windows上不起作用。是否有可以设置属性的配置文件?
当前回答
对于多个环境变量,.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中被取消设置。
其他回答
如果NODE_ENV或任何其他环境变量没有提供正确的值,则重新启动VS代码。这应该在重启后工作。
如果你能在调用启动Windows上的Node.js时在同一行设置参数,那就太理想了。仔细看下面的内容,并按照上面说的那样运行:
你有两个选择:
在命令行: set NODE_ENV=production&&npm start 或 set NODE_ENV=production&&node index.js 在Windows上工作的技巧是你需要删除“&&”前后的空白。配置您的包。Json文件与start_windows(见下文)下面。然后在命令行执行“npm Run start_windows”。 / / package.json "脚本":{ "start": "node index.js" "start_windows": "set NODE_ENV=production&&node index.js" }
如果您正在使用带有NTVS的Visual Studio,您可以在项目属性页面上设置环境变量:
正如你所看到的,Configuration和Platform下拉菜单被禁用了(我还没有深入研究为什么会这样),但是如果你编辑你的.njsproj文件,如下所示:
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
<DebugSymbols>true</DebugSymbols>
<Environment>NODE_ENV=development</Environment>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
<DebugSymbols>true</DebugSymbols>
<Environment>NODE_ENV=production</Environment>
</PropertyGroup>
然后,“调试/发布”下拉菜单将控制在启动Node.js之前如何设置变量。
下面是非命令行方法:
在Windows 7和Windows 10操作系统中,在开始菜单搜索框中输入“environment”,选择“编辑系统环境变量”。
或者,导航到控制面板\系统和安全\系统,然后单击高级系统设置
这将打开“系统属性”对话框,选中“高级”选项卡。在底部,你会看到一个环境变量…按钮。点击这个。
将打开“环境变量”对话框。
在底部,在系统变量下,选择New…这将打开“新建系统变量”对话框。
输入变量名和值,然后单击OK。
您需要关闭所有cmd提示并重新启动服务器,以便process.env可以使用新变量。如果仍然没有显示,请重新启动计算机。
我使用npm脚本运行一个没有“&&”的gulp任务
NODE_ENV=testcases运行seed-db