node中的環境變數與全域性變數
阿新 • • 發佈:2018-12-10
環境變數
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要謹慎使用;