AMD CMD CommonJS - pod4g/tool GitHub Wiki

这是三个规范

  1. AMD Asynchronous Module Definition 异步模块定义

    require.js 使用的是AMD

  2. CMD Common Module Definition 统一模块定义

    sea.js 使用的是CMD

  3. CommonJS

    NodeJS 使用的是CommonJS

CommonJS规范加载模块是同步的,也就是说,只有加载完成,才能执行后面的操作。AMD规范则是非同步加载模块,允许指定回调函数。由于Node.js主要用于服务器编程,模块文件一般都已经存在于本地硬盘,所以加载起来比较快,不用考虑非同步加载的方式,所以CommonJS规范比较适用。但是,如果是浏览器环境,要从服务器端加载模块,这时就必须采用非同步模式,因此浏览器端一般采用AMD规范。

可以认为 AMD/CMD 用于浏览器端,CommonJS用于服务器端

参考资料http://javascript.ruanyifeng.com/nodejs/module.html