JS 基础
cjs, amd, umd, esm
cjs - CommonJS
在 NodeJS 上运行,使用 require("module") 读取并加载模块
AMD
Asynchronous Module Definition, CJS 的异步版本,制定了一套规则使模块可以被异步 require 进来并在回调函数里继续使用,然后 require.js 等前端库也可以利用这个规则加载代码
UMD
Universal Module Definition,同时兼容 CJS 和 AMD,并且支持直接在前端用 的方式加载。
IIFE
Immediately Invoked Function Expression,只是一种写法,可以隐藏一些局部变量。
ESM
ECMAScript Module,现在使用的模块方案,使用 import export 来管理依赖。 由于它们只能写在所有表达式外面,所以打包器可以轻易做到分析依赖以及 Tree-Shaking。当然他也支持动态加载(import())。 浏览器直接通过