环境: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模块】同步更新图片