在node.js中设置env时,以下内容之间的区别是什么:
app.set('env', 'production');
和process.env.NODE_ENV = 'production';
当我使用前者时,结果将是:
process.env.NODE_ENV = 'production';
console.log('env1:',app.get('env'));// returns the default env which is development
console.log('env2:',process.env.NODE_ENV); //returns production
当我使用后者时,结果将是:
app.set('env', 'production')
console.log('env1:',app.get('env')); // returns production
console.log('env2:',process.env.NODE_ENV); // returns undefined
为什么process.env.NODE_ENV = 'production';
不会改变我的app.get('env')
以及为什么app.set('env', 'production')
不会改变process.env.NODE_ENV
;换句话说,它们是两个独立的变量,它们不是相互关联的吗?
谢谢!
答案 0 :(得分:0)
process.env.NODE_ENV将设置节点env进程,而在app.set的情况下,您将设置应用程序的环境(就像任何其他变量一样)。 Express是围绕节点构建的Web应用程序框架,因为它是一个推动者。因此,这些是我们看到的不同变量。但是,当你执行app.get('env')时,它会将你与process.env.NODE_ENV匹配。