美文网首页
common、AMD、CMD区别

common、AMD、CMD区别

作者: SailingBytes | 来源:发表于2019-06-25 18:42 被阅读0次

CommonJS 

CommonJs 是服务器端模块的规范,Node.js采用了这个规范。 

根据CommonJS规范,一个单独的文件就是一个模块。加载模块使用require方法,该方法读取一个文件并执行,最后返回文件内部的exports对象。 

CommonJS 加载模块是同步的,所以只有加载完成才能执行后面的操作。

像Node.js主要用于服务器的编程,加载的模块文件一般都已经存在本地硬盘,所以加载起来比较快,不用考虑异步加载的方式,所以CommonJS规范比较适用。

但如果是浏览器环境,要从服务器加载模块,这是就必须采用异步模式。所以就有了 AMD  CMD 解决方案。 

AMD

AMD 是 RequireJS 在推广过程中对模块定义的规范化产出 

AMD异步加载模块。它的模块支持对象 函数 构造器 字符串 JSON等各种类型的模块。 

适用AMD规范适用define方法定义模块。 

//通过数组引入依赖 ,回调函数通过形参传入依赖 

define(['someModule1', ‘someModule2’], function (someModule1, someModule2) { 

    // 代码

}); 

CMD 

CMD是SeaJS 在推广过程中对模块定义的规范化产出 

CMD和AMD的区别有以下几点: 

1.对于依赖的模块AMD是提前执行,CMD是延迟执行。不过RequireJS从2.0开始,也改成可以延迟执行(根据写法不同,处理方式不通过)。 

2.CMD推崇依赖就近,AMD推崇依赖前置。 

define(function (requie, exports, module) { 

    //依赖可以就近书写 

    var a = require('./a'); 

    a.test(); 

}); 

3.AMD的api默认是一个当多个用,CMD严格的区分推崇职责单一。

AMD里require分全局的和局部的。

CMD里面没有全局的 require,提供 seajs.use()来实现模块系统的加载启动。

相关文章

  • common、AMD、CMD区别

    CommonJS CommonJs 是服务器端模块的规范,Node.js采用了这个规范。 根据CommonJS规范...

  • AMD、CMD、CommonJS

    AMD(Asynchronous Module Definition)、CMD(Common Module Def...

  • js 模块化开发

    模块化开发怎么做? AMD(Modules/Asynchronous-Definition)、CMD(Common...

  • CMD

    CMD 即Common Module Definition通用模块定义,CMD规范是国内发展出来的,就像AMD有个...

  • [读]高大上的AMD和CMD的区别

    高大上的AMD和CMD的区别

  • AMD CMD区别

    区别: 对于依赖的模块,AMD 是提前执行,CMD 是延迟执行。不过 RequireJS 从 2.0 开始,也改成...

  • 2017年4月看面试题记

    AMD 和 CMD 的区别有哪些?AMD 是 RequireJS 在推广过程中对模块定义的规范化产出。CMD 是 ...

  • 模块规范CommonJS以及AMD、CMD

    本文目录: 1.原始写法 2.CommonJS规范 3.AMD规范 4.CMD规范 5.AMD和CMD的区别 6....

  • AMD、CMD规范区别?

    CMD代表的是seajs,AMD的代表是requireJS,AMD的核心是预加载,就是在使用的时候先对依赖的全部文...

  • [requireJS]学习笔记:了解CMD、AMD、Common

    为什么要使用模块化? 最主要的目的: 解决命名冲突 依赖管理 其他价值: 提高代码可读性 代码解耦,提高复用性 C...

网友评论

      本文标题:common、AMD、CMD区别

      本文链接:https://www.haomeiwen.com/subject/inixcctx.html