在Ubuntu中这很简单;我可以运行应用程序使用:
$ NODE_ENV=production node myapp/app.js
但是,这在Windows上不起作用。是否有可以设置属性的配置文件?
在Ubuntu中这很简单;我可以运行应用程序使用:
$ NODE_ENV=production node myapp/app.js
但是,这在Windows上不起作用。是否有可以设置属性的配置文件?
当前回答
这不会设置一个变量,但在很多情况下是有用的。我不建议在生产环境中使用这个方法,但是如果你正在使用npm,它应该是可以的。
npm install --production
其他回答
我使用npm脚本运行一个没有“&&”的gulp任务
NODE_ENV=testcases运行seed-db
PowerShell:
$env:NODE_ENV="production"
我在Visual Studio 2013的Windows 7 64位上使用Node.js的经验是,你需要使用
setx NODE_ENV development
从CMD窗口。并且您必须重新启动Visual Studio才能识别新的值。
set语法仅在设置它的cmd窗口的持续时间内有效。
在Node.js中的简单测试:
console.log('process.env.NODE_ENV = ' + process.env.NODE_ENV);
当使用set时返回'undefined',如果使用setx并重新启动Visual Studio,它将返回'development'。
你可以使用
npm run env NODE_ENV=production
这可能是最好的方法,因为它在Windows和Unix上都是兼容的。
来自npm run-script文档:
env脚本是一个特殊的内置命令,可用于列出脚本在运行时可用的环境变量。如果在包中定义了“env”命令,它将优先于内置命令。
似乎
{
"start_windows": "set NODE_ENV=test"
}
对我没用。我目前正在我的Windows电脑上尝试这个功能。当我点击:
npm run start_windows
它会在控制台上执行,没有错误,但是当我尝试回显时
echo %NODE_ENV%
什么都没有出来,这意味着它不存在,它根本就没有设置……