Node.js全局变量global模块详解
本文详解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的结构关系图。

接下来通过具体示例进行说明。
以下部分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返回的是包含路径信息的完整文件名。
以上内容为本文全部讲解,旨在为读者提供学习参考,欢迎支持本站。
全栈开发中JavaScript与Java怎么协作?前后端技术栈配合解析
2026-11-04 11:08:24
Node.js官网访问慢?国内镜像加速下载方案
2026-11-03 18:57:24
Node.js 连接 MySQL 数据库实现增删改查操作
2026-11-03 14:31:14
Windows系统安装Node.js:下载、配置与环境验证
2026-11-03 14:15:56
Linux (Ubuntu/CentOS) 环境下安装Node.js的常用方法
2026-11-03 10:18:39
