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

$ NODE_ENV=production node myapp/app.js

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


当前回答

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

NODE_ENV=testcases运行seed-db

其他回答

当前版本的Windows使用Powershell作为默认shell,因此使用:

$env:NODE_ENV="production"

请看下面@jsalonen的回答。如果您在CMD(不再维护),使用

set NODE_ENV=production

这应该在您打算运行Node.js应用程序的命令提示符中执行。

上面的代码行将为执行命令的命令提示符设置环境变量NODE_ENV。

要全局设置环境变量,使它们在单个命令提示符之外持续存在,您可以在控制面板中的系统中找到该工具(或在开始菜单中的搜索框中键入'environment')。

要在PowerShell中运行应用程序(因为&&是不允许的):

($env:NODE_ENV="production") -and (node myapp/app.js)

请注意,服务器正在做的事情的文本输出被抑制了,我不确定这是否可以修复。(扩展@jsalonen的回答。)

最后,我认为最好的方法如下。

"set-env-qa": "npm run env APP_ENV=qa",
"start:qa": "npm run set-env-qa && react-native start",

这将确保我们为程序获得正确的env设置。用您想要的下一个命令替换react-native-start。

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

NODE_ENV=testcases运行seed-db

set NODE_ENV=production & node server.js