在Node.JS中设置/获取env

Setting/getting env in Node.JS

本文关键字:获取 env 设置 Node JS      更新时间:2023-09-26

在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;换句话说,它们是两个独立的变量,难道它们没有联系吗?

谢谢!

process.env.NODE_env将设置节点env进程,而在app.set的情况下,您将为应用程序设置环境(就像任何其他变量一样)。Express是围绕节点构建的web应用程序框架,使其成为一个推动者。因此,我们看到的是不同的变量。但是,当您执行app.get('env')时,它会将您与进程相匹配。env.NODE_env.