CommonJS、CMD、AMD、NodeJS创造JavaScript的未来

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/laohoubin/article/details/47326421

CMD是国内玉伯大神在开发SeaJS的时候提出来的,属于CommonJS的一种规范,此外还有AMD,其对于的框架是RequireJS


1、二者都是异步模块定义(Asynchronuous Module Definition)的一个实现;

2、CMDAMD都是CommonJS的一种规范的实现定义,RequireJSSeaJS是对应的实践;

3、CMDAMD的区别: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定义一些规范,CMDAMD得定义模块的方式对代码进行管理,使得更易维护;此外,NodeJS的诞生,对模块的规范定义,和包(NPM)的概念的引入,让JS管理不再困难,一个字,爽爆了!

猜你喜欢

转载自blog.csdn.net/laohoubin/article/details/47326421