跳到主要内容

CommonJS 模块化介绍

CommonJS 是属于浏览器标注以外的模块化规划,常用于 Nodejs 的服务器中,也可以经过打包工具的处理转义成浏览器可以正常运行的代码。

我们主要介绍导入和导出的方法

模块导出

导出也类似于其他模块,直接使用 module.exports 赋值一个对象即可

function say() {
console.log("Hello World");
}

module.exports = {
say,
};

也可以直接对exports对象进行赋值导出

function say() {
console.log("Hello World");
}

exports.say = say;
提示

注意两种导出方式不能混用,否则将会以module.exports的导出为准

模块导入

导入的方式就比较简单了

const speak = require("./speak");

speak.say();

当然我们也可以直接通过对象解构拿到函数

const { say } = require("./speak");

say();
关于exports的模块导出缓存

当一个项目首次加载一个模块时会执行,后续将会缓存 exports 的结果

其他模块引用相同模块时,Node.js 直接将 exports 的结果提供给其他模块