Node.js 全局变量

作者:编程家 分类: 编程代码 时间:2025-12-23

Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时环境,可以让 JavaScript 在服务器端运行。它采用事件驱动、非阻塞 I/O 模型,使得轻量高效的网络应用程序成为可能。Node.js 提供了一系列的全局变量,这些变量可以在应用程序的任何地方访问,方便开发者在不同的模块之间共享数据。本文将介绍一些常用的 Node.js 全局变量,并提供相关案例代码。

__dirname

__dirname 是一个包含当前模块文件所在目录的字符串。在 Node.js 中,模块是独立的文件,每个模块都有自己的作用域。使用 __dirname 可以获取当前模块文件所在的目录路径,方便我们进行文件操作。

示例代码:

javascript

console.log(__dirname); // 输出当前模块文件所在的目录路径

__filename

__filename 是一个包含当前模块文件的完整路径的字符串。与 __dirname 不同的是,__filename 包含了文件的名称,可以用于获取当前模块文件的完整路径。

示例代码:

javascript

console.log(__filename); // 输出当前模块文件的完整路径

exports

exports 是一个指向 module.exports 的引用。在 Node.js 中,每个模块都有一个 module 对象,该对象包含了当前模块的相关信息和方法。通过给 module.exports 赋值,可以将模块中的方法、变量等导出,供其他模块使用。exports 是对 module.exports 的引用,用于简化导出操作。

示例代码:

javascript

// math.js

exports.add = function(a, b) {

return a + b;

};

// app.js

const math = require('./math');

console.log(math.add(1, 2)); // 输出 3

require

require 是用来引入模块的方法。在 Node.js 中,模块是独立的文件,可以通过 require 方法将其他模块引入当前模块中,以便使用被引入模块中的方法、变量等。

示例代码:

javascript

// math.js

exports.add = function(a, b) {

return a + b;

};

// app.js

const math = require('./math');

console.log(math.add(1, 2)); // 输出 3

module

module 是一个包含当前模块信息的对象。通过 module 对象,我们可以获取当前模块的文件名、路径等信息,也可以将模块中的方法、变量等导出,供其他模块使用。

示例代码:

javascript

console.log(module.filename); // 输出当前模块文件的完整路径

console.log(module.id); // 输出当前模块的标识符

console.log(module.exports); // 输出当前模块的导出对象

以上是一些常用的 Node.js 全局变量的介绍和示例代码。通过合理利用这些全局变量,我们可以更加方便地进行模块化开发,提高代码的可维护性和复用性。在实际应用中,还有许多其他的全局变量可以用于不同的场景,开发者可以根据具体需求进行使用和探索。