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 的结果提供给其他模块