AMD与CMD区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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性能好,因为只有用户需要时才执行

以上是关于AMD与CMD区别的主要内容,如果未能解决你的问题,请参考以下文章

AMD与CMD区别

AMD和CMD是啥?它们的区别都有哪些?

AMD 和 CMD 的区别都有哪些

前端模块化,AMD与CMD的区别

SeaJS与RequireJS最大的区别

前端amd和cmd的区别