模块化开发之Amd规范和Cmd规范

本文详细对比了CMD和AMD两种模块化规范的特点。CMD规范由SeaJS推广,采用延迟加载方式,允许按需引入模块;而AMD规范源于RequireJS,采取预加载方式,需在使用前声明所有依赖。CMD更适合动态依赖场景,AMD则适用于静态分析。

 

CMD规范:是SeaJS 在推广过程中对模块定义的规范化产出的。

AMD规范:是 RequireJS 在推广过程中对模块定义的规范化产出的

 

// CMD 
define(function(require, exports, module) {
       var a = require('./a')
       a.doSomething() // 此处略去 100 行
       var b = require('./b') // 依赖可以就近书写
       b.doSomething() // ... 
})
其中require,export,module是cmd自带的封装方法(自带API)
// AMD 默认推荐的是 
define(['./a', './b'], function(a, b) { 
    // 依赖必须一开始就写好 
    a.doSomething() // 此处略去 100 行 
    b.doSomething() ... 
})
其中
['./a', './b']是依赖模块,a是模块提供的API
比较上述2种模块化方式:
CMD规范是将模块的引用和加载放到了模块实际要用的时候加载,而AMD规范则是预加载,就是在使用的时候先对依赖的全部文件进行加载,加载完了再进行处理,
require调用模块,define定义模块,config是配置模块。

总结CMD是延迟执行的,而AMD是提前执行的。
 

转载于:https://www.cnblogs.com/8080zh/p/11011924.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值