在 Node.js 中,模块是指将代码组织成一个独立的单元,可以被其他代码引用和复用的机制。Node.js 使用 CommonJS 规范来实现模块化,每个文件就是一个模块,模块内部的变量和函数默认是私有的,只有通过 module.exports
或 exports
导出的部分才能被其他模块访问。
创建模块
要创建一个 Node.js 模块,只需要将相关代码放在一个文件中,并通过 module.exports
导出需要暴露的变量或函数。例如,我们创建一个名为 math.js
的模块来实现基本的数学运算:
// math.js const add = (a, b) => a + b; const subtract = (a, b) => a - b; module.exports = { add, subtract };
导入模块
要在其他模块中使用已经创建的模块,可以使用 require
函数来导入。例如,我们创建一个 app.js
文件来使用 math.js
模块:
// app.js const math = require('./math'); console.log(math.add(1, 2)); // 输出 3 console.log(math.subtract(5, 3)); // 输出 2
在上面的例子中,我们使用相对路径 ./math
导入了 math.js
模块,并通过 math.add
和 math.subtract
来调用其中的函数。
内置模块
除了自定义模块外,Node.js 还提供了许多内置模块,可以直接使用而无需安装。例如,fs
模块用于文件系统操作,http
模块用于创建 HTTP 服务器等。
// 使用内置模块 const fs = require('fs'); const http = require('http');
模块缓存
Node.js 会对已经加载过的模块进行缓存,这意味着多次引入同一个模块时,实际上只会加载一次。这样可以提高应用程序的性能和减少资源消耗。
以上就是关于 Node.js 模块系统的介绍,下一节我们将学习如何使用 npm 来管理模块。