`
zhangyaochun
  • 浏览: 2595827 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

CMD与AMD的区别

阅读更多

本文来自玉伯在zhihu上的一个回答,个人整理学习!

 

Topic:AMD与CMD的异同?

 

1、从官方推荐的写法上面得出:

 

  • CMD ----- 依赖就近
//CMD
define(function(require,exports,module){
        var a = require('./a');
        a.doSomthing();
});
 
  • AMD ----- 依赖前置

 

//AMD
define(['./a','./b'],function(a,b){
       //......
       a.doSomthing();
       //......
       b.doSomthing();
})
 

当然AMD也支持CMD的写法。

 

2、执行顺序上

 

  • CMD是延迟执行
推崇的是as lazy as possible

  • AMD是提前执行
requireJS从2.0开始可以延迟执行

 

3、api设计角度

 

  • CMD的API推崇职责单一,没有全局的require
  • AMD的API默认是一个当多个用:比如require有全局的和局部的

 

扩展阅读:

 

1、玉伯的总结: http://www.zhihu.com/question/20351507

 

2、CMD:http://zhangyaochun.iteye.com/blog/1689112

 

3、AMD:http://zhangyaochun.iteye.com/blog/1688991

 

 

分享到:
评论

相关推荐

    AMD之require.js与CMD之sea.js

    AMD(Asynchronous Module Definition)和CMD(Common Module Definition)是两种不同的JavaScript模块化开发规范,它们主要用于解决在浏览器环境中加载和组织代码的问题。AMD由RequireJS提出并推广,CMD则是Sea.js...

    JS中的模块规范(CommonJS,AMD,CMD

    CMD 规范与AMD非常相似,但在某些方面有所不同,旨在提供更灵活的模块加载方式。 **CMD的关键特性包括:** - **按需加载**: CMD 规范同样支持异步加载,但它允许模块在加载过程中只加载实际需要的部分,而不是预先...

    vue文件经过编译使其满足AMDCMD的模式

    AMD主要被RequireJS所采用,适用于浏览器环境,强调异步加载模块,而CMD则是Sea.js推崇的规范,两者在加载和依赖处理上有一定区别,但基本思想相似,都是为了解决JavaScript的模块化问题。 当Vue.js项目需要与AMD或...

    JS中的模块规范(CommonJS,AMD,CMD(少用))

    **CMD** 规范是由国内的前端框架Sea.js提出的,其设计思路与AMD类似,但更加注重模块间的依赖顺序。在CMD中,模块可以按需加载,而且允许模块的动态加载。 CMD规范的主要特点包括: - CMD同样使用`define()`函数...

    JavaScript模块规范之AMD规范和CMD规范

    总结一下AMD和CMD的主要区别: 1. 依赖执行时机:AMD通常在定义时执行依赖,CMD则是延迟执行,按需加载。 2. 依赖声明方式:AMD在`define`中显式声明依赖,CMD使用`require`在工厂函数内部引入依赖。 3. 社区支持:...

    gulp-view-compile:用于将html代码打包成cmd,amd规范可以使用的模块。这样可以跨域使用

    用于将html代码打包成cmd,amd规范可以使用的模块。这样可以跨域使用。 Installation npm install gulp-view-compile Test npm test example var rename = require('gulp-rename'); var viewCompile = require('gulp-...

    AMD 与 CMD.md

    模块化:是一种处理复杂系统分解为代码结构更合理,可维护性更高的可管理的模块的方式。 在理想状态下我们只需要完成自己部分的核心业务逻辑代码,其他方面的依赖可以通过直接加载被人已经写好模块进行使用即可。

    浅析AMD CMD CommonJS规范--javascript模块化加载学习心得总结.docx

    - **与AMD的区别**: - CMD允许模块之间的依赖传递,即可以在定义模块时动态地添加依赖,而AMD则需要在模块定义之初就明确所有依赖。 - CMD更注重模块的执行顺序,而AMD则更侧重于模块的加载速度。 - **应用场景**...

    zonvert:将 AMD 转换为 CMD

    自述文件作者:林东日期:2015 年 4 月 6 日操作说明npm install zonvert安装zonvert包zonvert -c ~/.jshintrc -d ./test/src -o ./test/build 这会将AMD转换为CMD javascript 文件。例子转换输入 define ( [ ...

    解决AMD芯片hyper-v问题

    AMD芯片在AndroidStudio中强烈受限。这个cmd文件执行了可以开控制hyper-v.运行完要重启电脑

    前端开源库-gulp-cmd-build

    **Cmd**(Common Module Definition)是 Sea.js 提出的一种模块化规范,类似于 AMD(Asynchronous Module Definition)规范,但更注重代码的自然书写顺序。Cmd 支持动态加载模块,使得模块化开发更加灵活。Gulp-cmd-...

    《模块化系列》彻底理清 AMD,CommonJS,CMD,UMD,ES6.md

    《模块化系列》彻底理清 AMD,CommonJS,CMD,UMD,ES6

    前端开源库-grunt-cmd-transport-wnd

    CMD,全称为Common Module Definition,是一种JavaScript模块化开发的规范,类似于AMD(Asynchronous Module Definition)和UMD(Universal Module Definition),但更侧重于同步加载,常用于Seajs等前端模块加载器...

    TA_Lib-0.4.17-cp37-cp37m-win_amd64.whl

    在windows的cmd里面输入命令: pip install TA_Lib‑0.4.17‑cp37‑cp37m‑win_amd64.whl 把TA_Lib‑0.4.17‑cp37‑cp37m‑win_amd64.whl放在C:\Windows\system32>文件夹下面 C:\Windows\system32>pip install TA_...

    将一些js库改写成符合cmd规范的模块

    在JavaScript的世界里,模块化是组织代码和管理依赖的关键手段。CMD(Common Module Definition)是一种流行于国内...这个过程能够提高代码的可维护性和复用性,使项目更加有序,同时也方便与其他CMD兼容的库进行集成。

    basemap-1.2.0-cp37-cp37m-win_amd64.whl和basemap-1.1.0-cp36-cp36m-win_amd64.whl

    先定位到 basemap-1.2.0-cp37-cp37m-win_amd64.whl 的所在文件夹,如:在F盘,键盘按 win + R 键打开命令行窗口,输入命令 cmd,再输入命令 F:,然后输入命令 pip install basemap-1.2.0-cp37-cp37m-win_amd64.whl ...

    dlib-19.19.0-cp38-cp38-win_amd64.whl 适用于py3.8

    dlib-19.19.0-cp38-cp38-win_amd64.whl 免编译安装,快速使用。Dlib是一个使用现代C++技术编写的跨平台的通用库,其中包含...下载后在当前文件目录CMD执行 pip install dlib-19.19.0-cp38-cp38-win_amd64.whl 安装即可。

Global site tag (gtag.js) - Google Analytics