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