AMD与CMD区别

AMD:异步模块定义,是一个浏览器端模块化开发的规范,由于不是原生JS支持,使用AMD规范需要用到require.js库
require.js注意解决两个问题
1、多个js文件可能有依赖关系,被依赖的文件需要早于依赖它的文件加载到浏览器
2、js加载的时候浏览器会停止页面渲染,加载文件越多,页面失去响应的时间就越长

CMD:CMD规范是国内发展出来的,使用CMD需要使用到Sea.js,sea.js需要解决的问题和require一样,只不过模块加载时机上有所不同
Sea.js推崇一个模块一个文件

AMD属于依赖前置,提前把依赖关系都设定好,js运行时很快就能知道依赖模块是谁,立即加载
CMD属于懒加载,需要把模块变成字符串解析一遍才知道依赖了哪些模块

AMD用户体验好,因为没有延迟,依赖模块提前就执行了,CMD性能好,因为只有用户需要时才执行

posted @ 2017-09-28 02:45  鲨鱼余烁  阅读(172)  评论(0编辑  收藏  举报