AMD CMD 二者的区别

AMD 是 RequireJS 在推广过程中对模块定义的规范化产出。
CMD 是 SeaJS 在推广过程中对模块定义的规范化产出。
类似的还有 CommonJS Modules/2.0 规范,是 BravoJS 在推广过程中对模块定义的规范化产出。
还有不少⋯⋯

这些规范的目的都是为了 JavaScript 的模块化开发,特别是在浏览器端的。
目前这些规范的实现都能达成,浏览器端模块化开发的目的。
区别:

  1. AMD在做依赖开发时,提倡的是依赖前置 ,而CMD则是延迟执行。(从RequireJS2.0开始,也改成可以延迟执行。根据写法不同,处理方式不同)
  2. CMD提倡依赖就近原则,而AMD提倡依赖前置
在CMD中 一个依赖项可以在代码内声明,而在AMD中必须在代码开始时首先声明

虽然 AMD 也支持 CMD 的写法,同时还支持将 require 作为依赖项传递,但 RequireJS 的作者默认是最喜欢上面的写法,也是官方文档里默认的模块定义写法。

AMD API 默认是一个当多个用, CMD API 严格区分,推崇职责单一。比如 AMD里,require分全局 require和局部 require,都叫 require。CMD 里,没有全局 require,而是根据模块系统的完备性,提供 seajs.use来实现模块系统的加载启动。 CMD 里,每个 API 都简单纯粹。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值