環境:Node v8.2.1; Npm v5.3.0; OS Windows10瀏覽器
在瀏覽器中咱們有window對象用於掛載全局的變量,在Node中咱們有global對象能夠進行掛載,不少共用的屬性就能夠掛載到global對象上了,自己它本身也擁有不少的屬性。ui
下面是部分API的例子,對部分API的一個簡單代碼實現spa
全局命名空間,經過 global 定義的變量,在任何地方均可以使用,相似於瀏覽器端定義在全局範圍中的變量。.net
// foo.js global.foo = 'hello';
// bar.js require('./foo'); console.log(foo); //hello
定義在 global 上面的變量,不須要在模塊中經過 exports 輸出,其餘模塊中也能使用。命令行
dirname 實際上不是一個全局變量,在命令行模式下直接調用會提示dirname 未定義,可是在模塊中能夠直接使用,返回當前腳本執行的目錄。code
console.log(__dirname);
返回當前執行代碼文件的名稱(包含文件的絕對路徑)。和dirname 同樣,filename 也不是一個全局變量,但在模塊中能夠直接使用。對象
console.log(__filename);
__filename返回的是包含路徑的文件名。blog
CSDN 【Node全局變量global模塊】同步更新圖片