一、Node.js 的模块系统本质是什么?

一句话:

每个文件就是一个模块,模块有独立作用域,通过 require / import 建立依赖关系。


Node 里主要有两套:

类型 关键字
CommonJS require / module.exports
ES Module import / export

今天重点说 CommonJS



二、一个模块在 require 时发生了什么?

这是重头戏。

假设:

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

Node 做了几件事:


① 解析路径

找到真实文件。


② 读取文件内容