环境变量
process.env属性返回一个包含用户环境信息的对象
可以在命令行语句中加入环境对象参数
例如执行
AAA=aa node test3.js
在process.env属性中就会有process.env.AAA存在并且process.env.AAA==="aa";
其中环境赋值一定要在执行语句之前,要不然会报错或者无法获取值。
以下错误
node test3.js AAA=aa //无法获取到值
node AAA=aa test3.js //报错
全局变量
test.js
global.__A__="a in global";
__B__="b in global";
(function a(){
__C__="c in global";
})()
test1.js
require('./test');
console.log("__B__:",__B__,"__A__",__A__,"global",global);
运行test1.js是能获取到在test中定义的三个全局变量,node中的global就相当于浏览器中的window。
但是修改test.js代码
global.__A__="a in global";
__B__="b in global";
console.log("this",this==module.exports);
会发现this是空对象,这是因为默认情况下 this==export , this==module.export ,但是this!=global;所以node module中的this要谨慎使用;