模块化开发之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是提前执行的。
 

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

猜你喜欢

转载自blog.csdn.net/weixin_33966095/article/details/93371429