备注:这一部分了解有个基础概念,跑下代码就ok啦!
CommonJS 规范
Node.js 的模块系统基于 CommonJS 规范。CommonJS 是一种模块化编程规范,它允许开发者将代码拆分成多个文件(模块),这些模块可以被其他模块引用和使用。这有助于组织和管理代码,提高代码的可读性和可维护性。
在 Node.js 中,每个文件都被视为一个独立的模块。要在一个模块中使用另一个模块,我们需要使用 require()
函数和 module.exports
。
require() 函数
require()
是一个内置函数,用于从其他模块导入(加载)代码。require()
函数接受一个参数,即要导入的模块的路径(相对或绝对路径),并返回导入模块所暴露的对象或函数。
例如,我们有一个名为 math.js
的模块:
// math.js
const add = (a, b) => a + b;
const multiply = (a, b) => a * b;
module.exports = { add, multiply };
要在另一个文件(如 index.js
)中使用 math.js
中的函数,我们可以使用 require()
函数:
// index.js
const math = require('./math'); // 注意:不需要包含 '.js' 扩展名
console.log(math.add(1, 2)); // 输出:3
console.log(math.multiply(3, 4)); // 输出:12
module.exports
module.exports
是一个特殊的对象,用于在模块中导出(暴露)函数、对象或值,以便其他模块可以通过 require()
函数访问它们。
在上面的 math.js
示例中,我们使用 module.exports
导出了一个包含 add
和 multiply
函数的对象。这样,在其他模块中使用 require()
函数导入 math.js
时,我们可以访问这两个函数。
我们还可以导出单个函数或值,而不是整个对象:
// square.js
const square = (x) => x * x;
module.exports = square;
// index.js
const square = require('./square');
console.log(square(4)); // 输出:16
总之,Node.js 的模块系统允许我们将代码拆分成多个文件(模块),以便更好地组织和管理我们的应用程序。借助 CommonJS 规范以及 require()
函数和 module.exports
,我们可以轻松地在模块之间共享代码和功能!