nodejs设置NODE_ENV环境变量(1)

时间:2023-03-09 02:50:31
nodejs设置NODE_ENV环境变量(1)

看下app.js文件中的一部分代码,如下:

//开发环境错误处理
// will print stacktrace
if (app.get('env') === 'development') {
app.use(function(err, req, res, next) {
res.status(err.status || 500);
res.render('error', {
message: err.message,
error: err
});
});
} //生产环境错误处理
// no stacktraces leaked to user
app.use(function(err, req, res, next) {
res.status(err.status || 500);
res.render('error', {
message: err.message,
error: {}
});
});

那么问题来了,app.get('env') 中的值怎样设置成production呢?

使用1: 直接在之前加入

app.set('env', 'production');

使用2:运行时执行

set NODE_ENV=production #(windows系统使用,其他系统命令参见 nodejs设置NODE_ENV环境变量(2) )
node www #先前的Express的启动是从app.js,新的启动从www调用了app.js

使用3:webstrom中运行设置Edit Cofigurations—>environment variables

nodejs设置NODE_ENV环境变量(1)

使用4:forever启动程序执行

# 开发环境下
NODE_ENV=development forever start -l forever.log -e err.log -a app.js
# 线上环境下
NODE_ENV=production forever start -l ~/.forever/forever.log -e ~/.forever/err.log -w -a app.js