背景
学习js过程中,发现导入导出有的是使用的export 导出,import导入,有的是使用exports或module.exports导出,使用require导入,不清楚使用场景和规则,比较混乱。
经过了解发现,NodeJS 中,目前有两种标准的模块引入模式,一种是旧的 CommonJS(CJS),另外一种是现代的 ESModule(ESM)
1、CJS
CJS中,使用 module.exports 或exports 导出模块
使用require() 函数来导入模块
2、EMS
在 ES6 模块规范中,我们可以使用 export 关键字来导出模块。
使用 import 关键字来导入模块
使用 export default 关键字将一个匿名函数/类或变量或对象导出为默认模块。注意,一个模块只能有一个默认导出
JS模块化,ESM模块规范的 导入、导出、引用、调用详解