Node.js 采用 CommonJS 模块化规范,定义了模块、导出和加载的概念,简化了模块化 JavaScript 代码的组织和重用,并帮助管理依赖关系。

Node.js 采用的模块化规范
Node.js 采用 CommonJS 规范作为其模块系统。CommonJS 是一个定义模块化 JavaScript 代码的标准集合,允许开发人员在不同的模块之间共享代码和功能。
CommonJS 规范
CommonJS 规范定义了以下几个核心概念:
- 模块: 一个独立的 JavaScript 代码单元,可以导出和导入其他模块。
- exports: 导出模块中其他模块可以访问的变量、函数和类。
- require: 加载并执行其他模块的函数。
在 Node.js 中使用 CommonJS
在 Node.js 中使用 CommonJS 模块化非常简单。要导出一个模块,可以使用 module.exports 对象:
内容:生产级 Node.js 后端模式,涵盖 Express/Fastify 配置、分层架构、中间件、错误处理、验证、数据库集成、身份验证及缓存。 时机:构建 REST API、搭建 Node.js 服务器、实施身份验证、集成数据库、添加验证/缓存或构建后端应用结构时。 关键词:nodejs, node, express, fastify, typescript, api, rest, 中间件, 身份验证, jwt, 验证, zod, postgres, mongodb, redis, 缓存, 速率限
// module.js
module.exports = {
add: function(a, b) {
return a + b;
}
};要导入一个模块,可以使用 require() 函数:
// main.js
var myModule = require('./module');
console.log(myModule.add(1, 2)); // 输出 3优点
使用 CommonJS 模块化规范的优点包括:
- 模块重用: 允许在不同模块之间重用共享代码。
- 代码组织: 帮助组织大型代码库,使其更易于管理和维护。
- 依赖关系管理: 允许定义模块之间的依赖关系,以便应用程序可以正确运行。
替代方案
虽然 CommonJS 是 Node.js 中默认的模块化规范,但也有一些替代方案可用,例如:
- ES modules: JavaScript 中的原生模块系统,在 Node.js 12 中引入。
- AMD (Asynchronous Module Definition):另一种模块化规范,通常在 web 开发中使用。

















