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

CMD规范

阅读更多

CMD的基本特征

  • 各个模块是单例模式
  • 在模块的作用域内不应该被引入
  • 执行过程应该是懒式的

模块定义

模块定义以“define”关键字开始开始,define本质上是一个函数,使用define本质上是一次函数调用,入参为定义工厂,工厂可以是一个函数,也可以是一个对象,如果是函数,那么会传递给这个函数三个入参,分别是require、exports和module

例如

define(function(require, exports, module) {

      // 模块定义在此

})

 

define([
    'foo',
    'bar'
]);

个人感觉:

  • require提供了引入机制,提供了一种方式来建立依赖,和C中的include和java中的import类似;
  • exports提供了导出机制,提供了私有和共有分离,未使用exports语句导出的变量或者函数,其他模块即使引用此模块也不能使用;
  • module提供了模块信息描述

 

分享到:
评论

相关推荐

    CMD规范之seajs

    CMD规范之Seajs Seajs是一款轻量级的前端模块加载器,它遵循CommonJS规范,使得JavaScript在浏览器端也能实现模块化的开发。这个规范主要包含模块定义、模块加载和模块化开发的思想,大大提高了代码的可维护性和...

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

    本话题将深入探讨如何将现有的JavaScript库改写为符合CMD规范的模块,以便更好地在项目中利用和管理这些库。 CMD规范的核心思想是延迟执行和按需加载。它允许开发者在脚本中使用`define`函数来定义模块,并通过`...

    基于CMD规范的fangfis模块合并gulp插件

    1. **模块合并**:能够根据CMD规范,自动解析并合并多个模块文件为一个单一的文件,减少网络请求,提高页面加载速度。 2. **异步调用支持**:支持异步调用模块合并,这意味着在处理大型项目或者有动态依赖时,可以...

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

    CMD规范的核心思想是“按需加载”,在CMD中,模块的定义、依赖和加载可以按需进行,可以在任何时刻去加载一个模块,而无需在定义的时候就指定依赖。这使得CMD在某些方面比AMD更加灵活。CMD的define函数不仅定义了...

    HaloJS是一款基于ZeptoJS并采用CMD规范面向移动端提供各种实用工具的组件库

    HaloJS的组件化设计是遵循CMD规范的,CMD是Sea.js推广的一种模块化开发方式,它推崇的是延迟执行和依赖注入,这使得代码组织更加清晰,易于维护和扩展。在CMD规范下,每个模块都可以独立开发,减少了模块间的耦合度...

    遵循CMD规范的sea.js

    sea.js遵循CMD规范,用于实现js在浏览器端的模块化开发。 sea.js中只有局部require。

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

    - **依赖延迟加载**: 在CMD规范中,只有当真正需要依赖时才会去加载它,这与AMD规范有所不同。 示例: ```javascript // 使用 Sea.js 实现 CMD 规范 define(function(require, exports, module) { var dep1 = ...

    CMD_DEMO.zip

    CMD_DEMO.zip是一个压缩包,其中包含了CMD规范的示例DEMO。CMD,全称Command Prompt,是Windows操作系统中的命令行界面,用户可以通过输入特定的命令来执行各种系统操作。这个压缩包很可能是为了帮助用户理解和学习...

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

    CMD规范的主要特点包括: - CMD同样使用`define()`函数定义模块。 - 模块可以按需加载,即只加载实际需要的部分。 - 支持模块的动态加载,使得代码更为灵活。 CMD的一个示例: ```javascript define(function...

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

    - **简介**:CMD规范是由中国淘宝团队提出的一种模块化规范,主要用于前端开发中,特别是在大型项目中表现出了良好的性能优势。 - **特点**: - 异步加载模块。 - 支持延迟加载和动态加载,即按需加载。 - 采用...

    AMD之require.js与CMD之sea.js

    Sea.js是CMD规范的主要实现,其模块定义使用`seajs.use`或`define`方法。CMD的依赖注入是延迟的,只有在运行到某个模块时才会解析其依赖。例如: ```javascript define(function(require, exports, module) { var ...

    前端开源库-gulp-cmd-build

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

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

    2. **模块化处理**:支持CMD规范,使得你的代码可以以模块化的方式组织,便于管理和复用。 3. **压缩合并**:将多个JavaScript文件合并成一个文件,减少HTTP请求,同时进行压缩,降低文件大小,提高页面加载速度。 4...

    简单分页插件simplePagination改造为CMD模块

    CMD是JavaScript模块化开发的一种规范,尤其在中国社区广泛使用,如Sea.js等模块加载器就是基于CMD规范。CMD强调的是就近依赖,即在需要使用某个模块的地方直接require,而不是预先全局定义。 首先,理解`...

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

    当Vue.js项目需要与AMD或CMD规范配合时,例如在一个已经采用RequireJS或Sea.js的大型项目中,Vue文件需要经过特定的编译过程才能适配这两种模块化系统。这个过程通常涉及预处理器或者构建工具,如Webpack、Rollup或...

    ES6模块化的import和export用法方法总结

    同时还有CMD规范,为同步加载方案如seaJS。 ES6在语言规格的层面上,实现了模块功能,而且实现得相当简单,完全可以取代现有的CommonJS和AMD规范,成为浏览器和服务器通用的模块解决方案。 ES6模块主要有两个功能:...

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

    CommonJS规范的同步加载适合服务器端场景,AMD和CMD规范的异步加载更适合浏览器端。而在实际开发中,开发者需要根据项目的具体需求和环境选择合适的模块化规范。例如,在开发Node.js应用时,会优先考虑CommonJS规范...

Global site tag (gtag.js) - Google Analytics