【Node全域性變數global模組】
阿新 • • 發佈:2019-02-04
環境:Node v8.2.1; Npm v5.3.0; OS Windows10
在瀏覽器中我們有window物件用於掛載全域性的變數,在Node中我們有global物件可以進行掛載,很多共用的屬性就可以掛載到global物件上了,本身它自己也擁有很多的屬性。
1、API結構圖
2、一些例子
下面是部分API的例子,對部分API的一個簡單程式碼實現
2.1 global
全域性名稱空間,通過 global 定義的變數,在任何地方都可以使用,類似於瀏覽器端定義在全域性範圍中的變數。
// foo.js
global.foo = 'hello';
// bar.js
require('./foo');
console.log(foo);
//hello
定義在 global 上面的變數,不需要在模組中通過 exports 輸出,其他模組中也能使用。
2.2 __dirname
dirname 實際上不是一個全域性變數,在命令列模式下直接呼叫會提示dirname 未定義,但是在模組中可以直接使用,返回當前指令碼執行的目錄。
console.log(__dirname);
2.3__filename
返回當前執行程式碼檔案的名稱(包含檔案的絕對路徑)。和dirname 一樣,filename 也不是一個全域性變數,但在模組中可以直接使用。
console.log(__filename);
__filename返回的是包含路徑的檔名。