Node.js全局变量global模块详解

作者:接口漫谈时间:2026-10-22 08:58:26浏览:345

本文详解Node.js中的global对象及其相关全局变量。通过对比浏览器window对象,介绍global的作用域特性,并深入解析__dirname与__filename的区别及使用场景,帮助开发者掌握Node模块中的全局变量管理。

运行环境配置为Node v8.2.1,Npm版本5.3.0,操作系统为Windows10。

Node.js全局对象global简介

在浏览器环境中,window对象用于挂载全局变量;而在Node.js中,global对象承担类似角色,允许开发者将共用属性挂载至此,且其自身已包含大量内置属性。

本节展示API的结构关系图。

Node.js全局对象global简介

接下来通过具体示例进行说明。

以下部分API示例展示了相关功能的简单代码实现方式。

global全局命名空间

2.1 global

global作为全局命名空间,在此定义的变量可在任何地方访问,其作用机制类似于浏览器端定义的全局变量。


// foo.js
global.foo = 'hello';

// bar.js
require('./foo');
console.log(foo);
//hello

挂载在global上的变量无需通过exports输出,其他模块即可直接调用。

__dirname目录路径获取

2.2 __dirname

__dirname并非严格意义上的全局变量,在命令行模式下直接调用会提示未定义,但在模块内部可直接使用,用于返回当前脚本执行的目录路径。


console.log(__dirname);

__filename文件路径获取

2.3 __filename

__filename返回当前执行代码文件的名称,包含完整的绝对路径。与__dirname类似,它也不是全局变量,但可在模块中直接使用。


console.log(__filename);

需要注意的是,__filename返回的是包含路径信息的完整文件名。

以上内容为本文全部讲解,旨在为读者提供学习参考,欢迎支持本站。

作者最新文章