process.env与app.get('env')在获取express.js环境方面的区别

50

所以,在我的node.js 5.2.0 / express.js 4.2.0中,我可以这样做:

if (app.get('env') === 'development') {
  app.use(//etc
或者
var env = process.env.NODE_ENV || 'development';
if (env === 'development') {
  app.use(//etc

所以 process.env.NODE_ENVapp.get('env') 都可以获得环境的值。除了语法上的区别之外,它们还有什么显着的差异吗?

谢谢


这是我的一个已经被接受的答案,链接在这里:https://dev59.com/OFQJ5IYBdhLWcg3wBRE4#61135173默认情况下,app.get('env') 返回 development,而 process.env.NODE_ENV 返回 undefined。如果你想同时设置两者并更新环境,可以参考上面的链接。 - Santhosh John
1个回答

76

没有显著的区别。

如果未定义NODE_ENV,则Expressapp.get('env')返回'development'。因此,您不需要该行来测试其存在并设置默认值。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接