CommonJS和AMD/CMD他们都是定义模块的规范。
CommonJS
NodeJS是CommonJS规范的实现,webpack 也是以CommonJS的形式来书写。
在CommonJS中,有一个全局性方法require(),用于加载模块。
AMD(异步模块定义)
浏览器端的模块,不能采用”同步加载”(synchronous),只能采用”异步加载”(asynchronous)。这就是AMD规范诞生的背景。
AMD也采用require()语句加载模块,但是不同于CommonJS,它要求两个参数:
require([module], callback);
目前,主要有两个Javascript库实现了AMD规范:require.js和curl.js。
CMD
大名远扬的玉伯写了seajs,就是遵循他提出的CMD规范,与AMD蛮相近的。
seajs与requirejs的区别,看了一下文章,貌似是:requerejs是预加载模块,而seajs是懒加载模块。