如何在OS X中将NODE_ENV设置为生产/开发
用于express.js环境。 有什么build议么?
在运行应用程序之前,您可以在控制台中执行此操作,
export NODE_ENV=production
或者如果你在窗口中,你可以试试这个:
SET NODE_ENV=production
或者你可以像这样运行你的应用程序:
NODE_ENV=production node app.js
你也可以在你的js文件中设置它:
process.env.NODE_ENV = 'production';
但是我不build议在运行时文件中这样做,因为在您的服务器中打开VIM并将其更改为生产并不容易。 您可以在您的目录中创build一个config.json文件,并且每次运行应用程序时,都会从中读取并设置configuration。
在package.json中:
{ ... "scripts": { "start": "NODE_ENV=production node ./app" } ... }
然后在terminal运行:
npm start
export NODE_ENV=production
不好的解决scheme,重启后消失。
如果你不想担心这个variables – 把它添加到这个文件中:
/etc/environment
不要使用导出语法,只需写入(如果某些内容已经存在,则换行):
NODE_ENV=production
它在重新启动后工作。 你不必再重新inputNODE_ENV =生产命令,只需要使用任何你想要的节点 – 永远,pm2 …
对于heroku:
heroku config:set NODE_ENV="production"
这实际上是默认的。
这是关于NODE_ENV的一篇很好的文章: http : //www.hacksparrow.com/running-express-js-in-production-mode.html 。
对于从Grunt自动设置,你可以使用https://npmjs.org/package/grunt-env插件。;
heroku config:set NODE_ENV="production"
没有人在这里提到.env
呢? 在您的应用程序根目录中创build一个.env
文件,然后require('dotenv').config()
并读取值。 轻松更换,轻松阅读,跨平台。
在OSX上,我build议将export NODE_ENV=development
添加到~/.bash_profile
和/或~/.bashrc
和/或~/.profile
。
我个人将这个条目添加到我的~/.bashrc
,然后让~/.bash_profile
~/.profile
导入这个文件的内容,所以它在不同的环境中是一致的。
做这些添加之后,一定要重新启动您的terminal来拿起设置。
对于Windows Powershell使用命令
$env:NODE_ENV="productions" ; node app.js
如果您在应用程序中使用webpack ,则可以使用DefinePlugin
将其设置在那里。
因此,在您的plugin
部分,将NODE_ENV设置为production
:
plugins: [ new webpack.DefinePlugin({ 'process.env.NODE_ENV': '"production"', }) ]
丹尼尔有一个很好的答案,这是正确部署(设置和忘记)过程更好的方法。
对于那些使用快递。 你可以使用grunt-express-server,这也很棒。 https://www.npmjs.org/package/grunt-express-server
如果你在窗户上。 然后首先打开你的cmd在正确的文件夹
set node_env={your env name here}
按Enter键,然后你可以开始你的节点
node app.js
它将从您的env设置开始