CMD和AMD区别的概括

CMD和AMD区别
  AMD CMD
关于依赖的模块 提前执行(不过 RequireJS 从 2.0 开始,也改成可以延迟执行(根据写法不同,处理方式不同)), 延迟执行
关于依赖的位置
依赖前置

AMD 默认推荐的是
define([‘./a‘, ‘./b‘], function(a, b) { // 依赖必须一开始就写好
a.doSomething()
// 此处略去 100 行
b.doSomething()
...
}) 


依赖就近

 CMD
define(function(require, exports, module) {
var a = require(‘./a‘)
a.doSomething()
// 此处略去 100 行
var b = require(‘./b‘) // 依赖可以就近书写
b.doSomething()
// ... 
})

关于API
API 默认是一个当多个用

require 分全局 require 和局部 require,都叫 require


API 严格区分,推崇职责单一

没有全局 require,而是根据模块系统的完备性,提供 seajs.use 来实现模块系统的加载启动。CMD 里,每个 API 都简单纯粹

时间: 2024-12-22 00:02:39

CMD和AMD区别的概括的相关文章

commonJS、AMD和CMD之间的区别

JS中的模块规范(CommonJS,AMD,CMD),如果你听过js模块化这个东西,那么你就应该听过或CommonJS或AMD甚至是CMD这些规范咯,我也听过,但之前也真的是听听而已. 现在就看看吧,这些规范到底是啥东西,干嘛的. 一.CommonJS CommonJS就是为JS的表现来制定规范,NodeJS是这种规范的实现,webpack 也是以CommonJS的形式来书写.因为js没有模块的功能所以CommonJS应运而生,它希望js可以在任何地方运行,不只是浏览器中.它的终极目标是提供一个

CMD 和 AMD

通常我们会拿 CMD 规范来和 AMD 规范进行对比.那么 AMD 和 CMD 有什么区别和对比的呢? 申明依赖模块不同 对于依赖的模块,AMD 和 CMD 的处理方式是不一样的. AMD 推崇依赖前置,在定义模块的时候就要声明其依赖的模块. CMD 推崇依赖就近,只有在用到某个模块的时候再去 require . // CMD define(function(require, exports, module) { var a = require('./a') a.doSomething() //

CMD和AMD

CMD是国内玉伯在开发SeaJS的时候提出来的,属于CommonJS的一种规范,此外还有AMD,其对于的框架是RequireJS. 二者的异同之处: 二者都是异步(Asynchronuous Module Definition)的一个实现: CMD和AMD都是CommonJS的一种规范的实现定义,RequireJS和SeaJS是对应的实践: CMD和AMD的区别:CMD相当于按需加载,定义一个模块的时候不需要立即制定依赖模块,在需要的时候require就可以了,比较方便:而AMD则相反,定义模块

CommonJS、CMD、AMD、NodeJS创造JavaScript的未来

CMD是国内玉伯大神在开发SeaJS的时候提出来的,属于CommonJS的一种规范,此外还有AMD,其对于的框架是RequireJS 1.二者都是异步模块定义(Asynchronuous Module Definition)的一个实现: 2.CMD和AMD都是CommonJS的一种规范的实现定义,RequireJS和SeaJS是对应的实践: 3.CMD和AMD的区别:CMD相当于按需加载,定义一个模块的时候不需要立即制定依赖模块,在需要的时候require就可以了,比较方便:而AMD则相反,定义

CMD和AMD探秘

踏上前端这条道路以来,我一直以为自己就是个娴熟的切图工,每天只需要做着重复的劳动,切图,做网站.然而,技术的发展是日新月异的,切图工早就面临淘汰.随着浏览器功能越来越完善,前端项目越来越大,代码越来越复杂,为了适应这种变化,越来越要求前端开发模块化. 首先介绍一下什么是模块化.模块化是指解决某一个复杂问题,按照一种分类的思维把问题进行系统分解,并处理.譬如将巨大的系统代码,整合优化分割成高内聚低耦合的模块,达到便于管理,维护和开发的目的. 模块化设计,必须实现以下能力: 定义封装的模块 定义新模

关于模块化开发,CMD和AMD

模块化 首先要理解的是什么是模块化,模块化这个词来源于研究工程设计中的<Design Rules>,是指可组成系统的.具有某种确定独立功能的半自律性的子系统. 模块化在编程中的意义是为了减少软件的复杂度,使软件不会因为不断的扩大而导致功能维护.添加变得十分困难.而通过模块的拼接,就可以组成一些列的复杂的系统,同时   模块与模块之间耦合度低.这种拼凑是灵活的,自由的 为什么要模块化 web前端不断发展,其中各种插件的代码量已经不是以前可比的了.而代码量的上升会暴露出许多问题: 首先是命名,即命

cmd和amd的区别(js模块化)

AMD 是 RequireJS 在推广过程中对模块定义的规范化产出.CMD 是 SeaJS 在推广过程中对模块定义的规范化产出.类似的还有 CommonJS Modules/2.0 规范,是 BravoJS 在推广过程中对模块定义的规范化产出.还有不少?? 这些规范的目的都是为了 JavaScript 的模块化开发,特别是在浏览器端的.目前这些规范的实现都能达成浏览器端模块化开发的目的. 区别: 1. 对于依赖的模块,AMD 是提前执行,CMD 是延迟执行.不过 RequireJS 从 2.0

AMD/CMD/CommonJs的区别

AMD/CMD/CommonJs是js模块化开发的标准,目前对应的实现是RequireJs/SeaJs/nodeJs. CommonJs 主要针对服务器端,AMD/CMD 主要针对浏览器端. 服务器端和浏览器端有什么区别呢? 服务器端一般采用同步加载文件,也就是说需要某个模块,服务器便停下来,等待它加载再执行,而浏览器要保证效率,需要采用异步加载,这就需要一个预处理,提前将说需要的模块并行加载好. AMD和CMD的区别,虽然都是并行加载文件,但还是有所区别,AMD是预加载,在并行加载js文件同时

CMD和AMD理解

#AMD <br>1.AMD就是Asynchronous Module Definition,中文名是异步模块定义的意思.<br>2.AMD解决两个问题:解决依赖.异步加载<br>3.requireJs语法<br> 定义:define(id,dependencies,factory); id:可选参数,用来定义模块的标识,如果没有,则默认是脚本的文件名(去掉扩展名) dependencies:当前模块依赖的其他模块名称数组 factory:工厂方法,模块初始