Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/420.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在Node.JS中设置/获取环境_Javascript_Node.js_Express - Fatal编程技术网

Javascript 在Node.JS中设置/获取环境

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.

在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.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中设置的内容检索环境。有关更多信息,请参见此处