Javascript-Basic-模块化历史
文章目录

模块化的历史

IIFE & SEAF

就是闭包实现实现自运行匿名函数

AMD & CMD & UMD

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// AMD
define(['./a', './b'], function(a, b) {
// 加载模块完毕可以使用
a.do();
b.do();
});

// CMD
define(function(require, exports, module) {
// 加载模块
// 可以把 require 写在函数体的任意地方实现延迟加载
var a = require('./a');
a.doSomething();

// 也可以使用 require.async 来延迟加载
require.async('./b', function(b) {
b.doSomething();
});
});

UMD 是将 AMD 和 CMD 进行了整合

CommonJS

CommonJS 是的 NodeJS 所使用的一种服务端的模块化规范,它将每一个文件定义为一个 module,模块必须通过 module.exports 导出对外的变量或接口,通过 require() 来导入其他模块的输出到当前模块作用域中

ES6

ESModule 是 ES6 提供的官方 js 模块化方案, import 和 export

export 和 import