AMD 运行时加载 asynchronous_module_definition
阮一峰 AMD
与CommonJS区别是异步加载
require(['math'], function (math) {
math.add(2, 3);
});
AMD与CMD区别 都是异步加载
1.AMD前置依赖
define([],function(){})
2.CMD Common Module Definition
后置依赖
define(function(){
var fs=require('fs')
})
最明显的区别就是在模块定义时对依赖的处理不同
1、AMD推崇依赖前置,在定义模块的时候就要声明其依赖的模块
2、CMD推崇就近依赖,只有在用到某个模块的时候再去require
参考:
前端模块化,AMD与CMD的区别
CommonJS 运行时加载 同步加载
let { stat, exists, readFile } = require('fs');
ES6 编译时加载
import { stat, exists, readFile } from 'fs';