AMD、CMD、CommonJs和ES6对比

1.什么是AMD、CMD、CommonJs?
AMD(异步模块定义)是RequireJS在推广过程中对模块定义的规范化产出,它是一个概念,而RequireJS实现这个概念。可以通过require引用加载。
RequireJS特点是依赖前置,即在定义前面通过数组的形式加载所有的依赖。

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

CMD(同步模块定义)是SeaJS在推广过程中对模块定义的规范化产出,SeaJS是CMD这个概念的实现。特点是就近依赖,即哪里用到依赖就在哪里引入,即用即返回(同步概念)

define(function (require, exports, module) {
  // 通过require引入依赖
  var $ = require('jquery');
  var Spinning = require('./spinning')
});

CommonJs规范通过module.exports定义,前端浏览器并不支持,推荐在后端nodeJs中使用

exports.area = function (r) {
  return Math.PI * r * r;
};
exports.circumference = function (r){
  return 2 * Math.PI * r;
};

ES6新增特性 export/import

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容