AMD 和 CMD 的区别有哪些
在说AMD 和 CMD 的区别之前,先说明commonjs,它的回调和amd、cmd的不同于:
commomjs加载完了所有模块,才执行回调
amd和cmd是加载对应的模块,就可以执行回调中对应的代码 1、从官方推荐的写法上面得出:
CMD ----- 依赖就近Js代码
//CMD
define(function(require,exports,module){
var a = require('./a');
a.doSomthing();
});
AMD ----- 依赖前置 Js代码
//AMD
define(['./a','./b'],function(a,b){
//......
a.doSomthing();
//......
b.doSomthing();
})
当然AMD也支持CMD的写法。 2、执行顺序上
a. CMD是延迟执行,推崇的是as lazy as possible
b. AMD是提前执行,requireJS从2.0开始可以延迟执行
3、api设计角度:
CMD的API推崇职责单一,没有全局的require
AMD的API默认是一个当多个用:比如require有全局的和局部的
AMD 和 CMD 的区别有哪些的更多相关文章
- 【整理】 JavaScript模块化规范AMD 和 CMD 的区别有哪些?
根据玉伯等人在知乎上的回答整理.整理中... AMD 规范在这里:https://github.com/amdjs/amdjs-api/wiki/AMD CMD 规范在这里:https://githu ...
- 前端模块化,AMD与CMD的区别
最近在研究cmd和amd,在网上看到一篇不错的文章,整理下看看. 在JavaScript发展初期就是为了实现简单的页面交互逻辑,寥寥数语即可:如今CPU.浏览器性能得到了极大的提升,很多页面逻辑迁移到 ...
- 对于模块加载:ES6、CommonJS、AMD、CMD的区别
运行和编译的概念 编译包括编译和链接两步. 编译,把源代码翻译成机器能识别的代码或者某个中间状态的语言. 比如java只有JVM识别的字节码,C#中只有CLR能识别的MSIL.还简单的作一些比如检查有 ...
- AMD 和 CMD 的区别有哪些?
看到玉伯在介绍seajs和requirejs时,说“RequireJS 遵循的是 AMD(异步模块定义)规范,SeaJS 遵循的是 CMD (通用模块定义)规范”. 能否详细(举例)说明下这个2个规范 ...
- AMD 和 CMD 的区别
AMD 规范在这里:https://github.com/amdjs/amdjs-api/wiki/AMD CMD 规范在这里:https://github.com/seajs/seajs/issue ...
- AMD 和 CMD的区别
AMD 是 RequireJS 在推广过程中对模块定义的规范化产出.CMD 是 SeaJS 在推广过程中对模块定义的规范化产出.类似的还有 CommonJS Modules/2.0 规范,是 Brav ...
- AMD和CMD的区别
1.cmd define(function(require,export){ var b = 1; var a = require('./a'); a.dosomething(); }); 2.amd ...
- AMD、CMD/AMD与CMD的区别
http://blog.csdn.net/jackwen110200/article/details/52105493
- AMD与CMD(转载)
JavaSript模块化 在了解AMD,CMD规范前,还是需要先来简单地了解下什么是模块化,模块化开发? 模块化是指在解决某一个复杂问题或者一系列的杂糅问题时,依照一种分类的思维把问题 ...
随机推荐
- 雷达波Shader
OSG版本: vert #version varying out vec3 v; void main() { gl_FrontColor = gl_Color; gl_Position = ftran ...
- 分析JobInProgress中Map/Reduce任务分配
1.JobTracker能否决定给当前的TaskTracker节点分配一个Job的具体的哪一个任务? 2.什么是map本地任务? 3.nonRunningMapCache的作用是什么? 4.从Task ...
- open-falcon之query
功能 query组件,提供统一的绘图数据查询入口.query组件接收查询请求,根据一致性哈希算法去相应的graph实例查询不同metric的数据,然后汇总拿到的数据,最后统一返回给用户. 配置文件 { ...
- php-fpm配置文件
php-fpm配置文件 1.php-5.2的php-fpm <?xml version="1.0" ?> <configuration> <secti ...
- 三、K3 WISE 开发插件《K3 WISE开发手册》
1.VB插件工程的命名.命名空间和生成的DLL命名要一致,否则导致注册不成功! 2.主控台的查询分析工具,添加sql直接报表,代码用到临时表,提示“在对应所需名称或序数的集合中未找到项目” 解决:在代 ...
- Express+Less+Gulp配置高效率开发环境
版权声明:本文由金朝麟原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/627049001486519548 来源:腾云阁 h ...
- Linux日志五大命令详解
1.who 命令 who 命令查询 utmp 文件并报告当前登录的每个用户.Who 的缺省输出包括用户名.终端类型.登录日期及远程主机.使用该命令,系统管理员可以查看当前系统存在哪些不法用户,从而对其 ...
- 3-2 axios基础介绍
1.静态引用 <script src="https://unpkg.com/axios/dist/axios.min.js"></script> 2.npm ...
- C语言常用基础位操作
1.使用下面的代码将最右边的1改变为0,假如没有1则结果为0(e.g.,01011000=>01010000): x & (x-1) 此代码可以用来判断一个无符号的整数是否为2的幂,假 ...
- 如何搭建Packetbeat性能监控
安装与配置JDK 1. 将jdk-8u111-linux-x64.tar.gz上传至Linux的/opt目录下,并执行解压命令: tar -zxvf jdk-8u111-linux-x64.tar. ...