CMD
是国内玉伯大神在开发SeaJS
的时候提出来的,属于CommonJS
的一种规范,此外还有AMD
,其对于的框架是RequireJS
1、二者都是异步模块定义(Asynchronuous Module Definition)的一个实现;
2、CMD
和AMD
都是CommonJS
的一种规范的实现定义,RequireJS
和SeaJS
是对应的实践;
3、CMD
和AMD
的区别:CMD
相当于按需加载,定义一个模块的时候不需要立即制定依赖模块,在需要的时候require就可以了,比较方便;而AMD
则相反,定义模块的时候需要制定依赖模块,并以形参的方式引入factory中。
区别看下边例子:
//AMD方式定义模块
define([‘dep1‘,‘dep2‘],function(dep1,dep2){
//内部只能使用制定的模块
return function(){};
});
//CMD
define(function(require,exports,module){
//此处如果需要某XX模块,可以引入
var xx=require(‘XX‘);
});
4、JavaScript语言是弱结构性的,通过CommonJS
定义一些规范,CMD
和AMD
得定义模块的方式对代码进行管理,使得更易维护;此外,NodeJS
的诞生,对模块的规范定义,和包(NPM)的概念的引入,让JS管理不再困难,一个字,爽爆了!
版权声明:本文为博主原创文章,未经博主允许不得转载。
时间: 2024-11-04 10:48:40