admin管理员组文章数量:1530063
最主要的是:
- AMD是预加载,CMD是懒加载。AMD是提前执行,CMD是延迟执行。
- amd (在对应的加载之前导入),cmd(在用的时候导入)。
以下为相关补充:
AMD
AMD 即Asynchronous Module Definition,中文名是异步模块定义的意思。
它是一个在浏览器端模块化开发的规范由于不是JavaScript原生支持,使用AMD规范进行页面开发需要用到对应的库函数,也就是大名鼎鼎RequireJS,实际上AMD 是 RequireJS 在推广过程中对模块定义的规范化的产出。
requireJS主要解决两个问题:
1、多个js文件可能有依赖关系,被依赖的文件需要早于依赖它的文件加载到浏览器
2、js加载的时候浏览器会停止页面渲染,加载文件越多,页面失去响应时间越长
CMD
CMD 即Common Module Definition通用模块定义,CMD规范是国内发展出来的,就像AMD有个requireJS,CMD有个浏览器的实现SeaJS,SeaJS要解决的问题和requireJS一样,只不过在模块定义方式和模块加载(可以说运行、解析)时机上有所不同。
因为CMD推崇一个文件一个模块,所以经常就用文件名作为模块id
CMD推崇依赖就近,所以一般不在define的参数中写依赖,在factory中写。
factory是一个函数,有三个参数,function(require, exports, module)
1.require 是一个方法,接受 模块标识 作为唯一参数,用来获取其他模块提供的接口:require(id)
2.exports 是一个对象,用来向外提供模块接口
3.module 是一个对象,上面存储了与当前模块相关联的一些属性和方法
版权声明:本文标题:【AMD和CMD的区别】 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dianzi/1726768598a1083585.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论