【JS】AMD和CMD的区别

本文详细比较了AMD(异步模块定义)和CMD(通用模块定义)两种模块化规范,探讨了它们在异步加载模块方面的共同点,以及在依赖处理、执行时机和API设计上的差异。AMD强调依赖前置和即时执行,而CMD主张依赖就近和延迟执行,分别适用于不同的场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

AMD(Asynchronous Module Definition)即异步模块化定义,是 RequireJS 在推广过程中对模块定义的规范化产出。

CMD(Common Moudle Definition)即通用模块定义,是 SeaJS 在推广过程中对模块定义的规范化产出。

共同点:AMD和CMD都是 一种框架在推广的过程中对模块定义的规范化产出;而且它们都是异步加载模块。

不同点:

1. RequireJS 在主文件里是将所有的文件同时加载;然而 SeaJS 强调一个文件一个模块。

2. AMD推崇依赖前置,CMD推崇依赖就近。

3. AMD和CMD对依赖模块的执行时机有所不同。

AMD加载完模块后,就立马执行该模块;CMD加载完模块后不会立即执行,而是等遇到require语句的时候再执行。

4. AMD的API默认是一个当多个用,CMD的API严格区分,推崇职责单一。

各自的优点:AMD用户体验好,因为模块提前执行了;CMD性能好,因为只有用户需要的时候才执行。

参考:

AMD和CMD的区别

AMD 和 CMD 的区别有哪些

END

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值