AMD

异步加载模块,依赖提前。

  1. define(['./a', './b'], function() {
  2. ..... do something
  3. })

CMD

异步加载模块,依赖就近,按需加载。

  1. define(function(require, exports, module) {
  2. var a = require('./a');
  3. ....do something
  4. var b = require('./b');
  5. ....do something
  6. })

Common js

CommonJS是一个JavaScript模块化的规范。
用在服务端,输出值的拷贝。运行时加载(等运行js才能生成对象)。
通过 require 同步加载模块。exports 或者 module.export 暴露模块。

ES6 module

输出值的引用。解析时加载。