My Book

JS模块化

commonJs由nodejs发扬光大,传统的commonjs模块在浏览器中无法正常加载

解决方法:
AMD:
    异步定义模块,Requirejs
    解决的问题:1.多个js文件可能有依赖关系,被依赖的文件需要早于依赖它的文件加载到浏览器
                2.js加载的时候,浏览器会停止页面渲染,加载的文件越多,页面失去响应的时间越长

CMD:
    seajs推崇一个模块一个文件,遵循统一的写法

区别:对依赖模块的执行时机处理不同,注意不是加载的时机或者方式不同

AMD推崇依赖前置,在定义模块的时候就要声明依赖的模块

CMD推崇就近依赖,只有在用到某个模块的时候再去require

AMD和CMD的区别