看下app.js文件中的一部分代碼,以下:html
//開發環境錯誤處理 // 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呢?node
使用1: 直接在以前加入web
app.set('env', 'production');
使用2:運行時執行windows
set NODE_ENV=production #(windows系統使用,其餘系統命令參見 nodejs設置NODE_ENV環境變量(2) )
node www #先前的Express的啓動是從app.js,新的啓動從www調用了app.js
使用3:webstrom中運行設置Edit Cofigurations—>environment variablesapp
使用4:forever啓動程序執行spa
# 開發環境下 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