首页 > Web开发 > 详细

论AMD,CMD,CommonJs 和 ES6对比

时间:2020-03-10 22:38:48      阅读:55      评论:0      收藏:0      [点我收藏+]

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对比

原文:https://www.cnblogs.com/supershuai/p/12458676.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!