Javascript 在Node.JS中设置/获取环境
在node.js中设置env时,以下各项之间有什么区别:Javascript 在Node.JS中设置/获取环境,javascript,node.js,express,Javascript,Node.js,Express,在node.js中设置env时,以下各项之间有什么区别: 应用程序集(“环境”、“生产”); 和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.
应用程序集(“环境”、“生产”);
和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';
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\u env将设置NODE env进程,而在app.set的情况下,您将为app设置环境(与任何其他变量一样)。Express是围绕节点构建的web应用程序框架,它是一个使能器。因此,我们看到的是不同的变量。但是,当您执行app.get('env')时,它会将您与process.env.NODE_env匹配。谢谢“当您执行app.get('env')时,它会将您与process.env.NODE_env匹配。”
我的第一个示例与您在这里所说的内容相矛盾!如果设置process.env.NODE_env,然后尝试使用app.get('env'),则可以使用该流程检索环境集。而如果您使用app.set()显式设置,然后使用get app.get(),则它将从您在app中设置的内容检索环境。有关更多信息,请参见此处