论AMD,CMD,CommonJs 和 ES6对比

AMD
AMD是RequireJS在推广的过程中对异步模块定义的规范化产出
RequireJS可以动态的异步加载我们项目中的文件 例:

define([‘package/lib’], function(lib){ 
  function foo(){
   lib.log(‘hello’);
  return {
   foo: foo
};
});

使用package加载lib库 通过一个lib的回调函数来使用lib库中的方法,最后通过return来返回。
CMD
CMD是SeaJS(淘宝团队提出)在推广的过程中对同步模块定义的规范化产出。

define(function(require,exports,module){
  //通过require 引入依赖(依赖就近原则)
  var $ = require(‘jquery’);
  var Spinning = require(‘./spinning’);
    }

可以体现出CMD的即用即返回的同步概念.
CommonJS
CommonJS规范-module.exports (浏览器并不支持,但是在node.js后端会使用,服务端推荐CommonJS规范,前端推荐使用AMD,CMD的规范)

export.area = function(v){
     return Math.PI*v;
};
   export.circumference = function(v){
     return Math.PI/v;
};

除以上方法外,也可以通过module.exports匿名输出。
ES6
上面的AMD,CMD,CommoJs都是ES5里面的规范,下面的export/import是ES6里面的规范。通过export/import输入输出 例:

export default {
      props:[“name”],
      data(){
         return{ }
      },
      methods:{
         increment(){
            this.$emit(“incre”);
            import(‘./../until’)
},
         decrement(){
            this.$emit(“decre”);
}
    }
}

你可能感兴趣的:(论AMD,CMD,CommonJs 和 ES6对比)