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

 

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是提前执行的。
 

posted on 2019-06-12 20:09  晓风零乱  阅读(294)  评论(0编辑  收藏  举报

导航