1. commonjs
- commonjs 是一种使用广泛的 JavaScript 模块化规范
- 核心思想是通过
require
方法来同步地加载依赖的其他模块 - 通过
module.exports
导出需要暴露的接口
const xd = '青青子衿';
function fun() {
console.log('hello commonjs');
}
module.exports = {
xd,
fun,
};
const aData = require('./a');
aData.fun();
console.log(aData.xd);
2. JavaScript中为什么要使用commonjs?
- js没有模块系统,不具备封闭的作用域和依赖管理
- 缺少文件系统的IO流API
- 不具备包管理系统
3. commonjs 和 ES6 模块的区别
- commonjs 模块输出的是一个
值的拷贝
,ES6 模块输出的是值的引用
- commonjs 模块是
运行时加载
,ES6 模块是编译时输出接口
- commonjs 模块的
require()
是同步加载模块,ES6 模块的 import
命令是异步加载,有一个独立的模块依赖的解析阶段