前端模块化

7/23/2022

# CommandJS

  • 一个文件一个模块,有自己的作用域,文件里的变量都是私有的,其他文件不可见。在服务端,模块的加载是同步加载的,也就是会阻塞。
  • 加载机制:输入的是被输出的值的拷贝。

# AMD

  • 浏览器端使用的规范一般是AMD,AMD规范是非同步加载模块,允许指定回调函数。浏览器需要从服务器端加载模块,一般用AMD加载。

# CMD

  • 用于浏览器端,模块的加载是异步的,CMD整合了CommonJS和AMD的特点。是SeaJS。

# ES6模块化(ES Module)

  • 尽量静态化,在编译时就能确定模块之间的依赖关系。