CMD、AMD、CommonJS 规范

  • 为什么要模块化
  • 解决变量命名冲突,js挂到全局的变量很容易产生冲突在复杂的情况下
  • 提高代码的可读性
  • 代码解偶 提高复用性
  • 更佳方便的管理
  • CMD、AMD、CommonJS 规范分别指什么?有哪些应用

AMD (Asynchronous Module Definition, 异步模块定义) 指定一种机制,在该机制下模块和依赖可以异步加载。这对浏览器端的异步加载尤其适用。
CommonJS是服务器端模块的规范。Node.js中采用了这个规范,所有的Node都是由模块组成的。根据这个规范,每一个文件就是一个模块,并且有着自己的作用域,在其中定义的所有的内容都是私有的,是其它文件不可见的,需要使用module.exports属性,其中module代表当前模块,exports属性就是它的一个接口,在加载时,使用require()来加载这个模块。
CMD(Common Module Definition)是 SeaJS推广过程中产生的规范。在这个规范中,一个模块就是一个文件:define(factory),其中define是一个全局函数,用来定义模块,它接受的参数可以是一个函数,也可以使字符串或者对象。

CommonJS先出现于AMD规范,AMD的出现为了解决CommonJS不适合运行于浏览器环境的问题,浏览器获取网络请求如果同步加载就会出现“假死”现象。
AMD规范的应用现在主流的有require.js实现js文件的异步加载,避免网页失去响应;管理模块之间的依赖性,便于代码的编写和维护。
require.js还提供一系列插件,实现一些特定的功能

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 示例代码地址 1. 为什么要使用模块化? 1.解决命名冲突 2.代码解耦,提高复用性 3.提高代码可读性 3.方便...
    candy252324阅读 3,775评论 0 0
  • 问答 1.为什么要使用模块化? 要使用模块化,我们要知道什么是模块化?首先一个模块是为了实现特定功能的文件,模块化...
    GarenWang阅读 5,403评论 1 1
  • 概念 1、为什么要使用模块化? 当代码规模较大或进行团队协作时,如果不实行模块化,有可能导致命名冲突----解决命...
    周花花啊阅读 4,216评论 0 3
  • 一、 为什么要使用模块化? 解决命名冲突 解决依赖管理 提高代码可读性 代码解耦,提高复用性 二、CMD、AMD、...
    Chy18阅读 2,929评论 0 0
  • 1.为什么要使用模块化? 当去执行某个文件的过程中,如果将全部代码写在同一个文件下,在命名变量时,有些变量是全局变...
    饥人谷_徐小坤阅读 2,910评论 0 0

友情链接更多精彩内容