模块化
IIFE其实就是一个立即执行函数,最开始是使用这个来进行模块化的,隔离变量作用域
AMD(Asynchronous Module Definition异步模块定义)
UMD (Universal Module Definition,也就是通用模块定义),UMD是AMD+cjs的兼容版,在AMD和cjs的项目中,都可以引入UMD模块
CJS 是nodejs采用的模块化标准,使用require引入模块,exports 或 modules.exports来导出模块
ESM 是es6提出的模块化方案,是当前比较流行的模块化方案,在node.js中默认是使用cjs的模块化方案,可以在package.json中设置 “type”: “module”来标记为esm模块,使用import导入模块,export导出模块