首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

详解AMD规范

AMD全称是Asynchronous Modules Definition异步模块定义,提供定义模块及异步加载该模块依赖的机制,这和浏览器的异步加载模块的环境刚好适应(浏览器同步加载模块会导致性能、可用性...AMD规范只定义了一个函数 "define",它是全局变量。模块通过 define 函数定义在闭包中,格式如下: define(id?: String, dependencies?...AMD的模块名规范是CommonJS模块名规范的超集。引用如下: 模块名是由一个或多个单词以正斜杠为分隔符拼接成的字符串 单词须为驼峰形式,或者".",".."...AMD规范定义了三种特殊的依赖关键字。如果"require","exports", 或 "module"出现在依赖列表中,参数应该按照CommonJS模块规范自由变量去解析。

1.2K20

AMD规范演化

上面的方法解决的方法被覆盖的问题,但没有解决模块化依赖的问题,这个问题的解决就要靠我们下面要说的AMD规范。...AMD模块开发规范 上面模块话的开发虽然解决的js的方法的覆盖问题,但js依赖的问题仍然存在,解决这个问题的终极方案就是AMD规范。...AMD规范就是其中比较著名一个,全称是Asynchronous Module Definition,即异步模块加载机制。...从它的规范描述页面看,AMD很短也很简单,但它却完整描述了模块的定义,依赖关系,引用关系以及加载机制。...规范 (本文完) 作者:老付 如果觉得对您有帮助,可以下方的订阅,或者选择右侧捐赠作者,如果有问题,请在捐赠后咨询,谢谢合作 如有任何知识产权、版权问题或理论错误,还请指正。

72550
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Javascript模块化编程(二):AMD规范

    这个系列的第一部分介绍了Javascript模块的基本写法,今天介绍如何规范地使用模块。 (接上文) 七、模块的规范 先想一想,为什么模块很重要?...考虑到Javascript模块现在还没有官方规范,这一点就更重要了。 目前,通行的Javascript模块规范共有两种:CommonJS和AMD。...但是,由于一个重大的局限,使得CommonJS规范不适用于浏览器环境。还是上一节的代码,如果在浏览器中运行,会有一个很大的问题,你能看出来吗?   ...这就是AMD规范诞生的背景。 十、AMD AMD是"Asynchronous Module Definition"的缩写,意思就是"异步模块定义"。...所以很显然,AMD比较适合浏览器环境。 目前,主要有两个Javascript库实现了AMD规范:require.js和curl.js。

    1.1K80

    Javascript模块化编程(二):AMD规范

    这个系列的第一部分介绍了Javascript模块的基本写法,今天介绍如何规范地使用模块。 (接上文) 七、模块的规范 先想一想,为什么模块很重要?...考虑到Javascript模块现在还没有官方规范,这一点就更重要了。 目前,通行的Javascript模块规范共有两种:CommonJS和AMD。我主要介绍AMD,但是要先从CommonJS讲起。...但是,由于一个重大的局限,使得CommonJS规范不适用于浏览器环境。还是上一节的代码,如果在浏览器中运行,会有一个很大的问题,你能看出来吗?   ...这就是AMD规范诞生的背景。 十、AMD AMD是"Asynchronous Module Definition"的缩写,意思就是"异步模块定义"。...所以很显然,AMD比较适合浏览器环境。 目前,主要有两个Javascript库实现了AMD规范:require.js和curl.js。

    1.1K60

    JS模块化编程以及AMD、CMD规范、Webpack

    提示 由于CommonJS和AMD都十分流行,但似乎缺少一个统一的规范。于是,UMD(通用模块规范)出现了,它可以同时支持这两种风格。...虽然这个模式的写法比较难看,但是,它同时兼容了AMD和CommonJS,而且还支持老式的全局变量规范。 什么是JS模块化 先想一想,为什么模块很重要?...考虑到Javascript模块现在还没有官方规范,这一点就更重要了。 CommonJS和AMD。 在CommonJS中,有一个全局性方法require(),用于加载模块。...这就是AMD规范诞生的背景。 AMD是"Asynchronous Module Definition"的缩写,意思就是"异步模块定义"。它采用异步方式加载模块,模块的加载不影响它后面语句的运行。...目前,主要有两个Javascript库实现了AMD规范:require.js和curl.js。本系列的第三部分,将通过介绍require.js,进一步讲解AMD的用法,以及如何将模块化编程投入实战。

    2.3K10

    JAVASCRIPT模块化3篇之二:AMD规范

    七、模块的规范 先想一想,为什么模块很重要? 因为有了模块,我们就可以更方便地使用别人的代码,想要什么功能,就加载什么模块。...考虑到Javascript模块现在还没有官方规范,这一点就更重要了。 目前,通行的Javascript模块规范共有两种:CommonJS和AMD。我主要介绍AMD,但是要先从CommonJS讲起。...但是,由于一个重大的局限,使得CommonJS规范不适用于浏览器环境。还是上一节的代码,如果在浏览器中运行,会有一个很大的问题,你能看出来吗?   ...这就是AMD规范诞生的背景。 十、AMD AMD是”Asynchronous Module Definition”的缩写,意思就是”异步模块定义”。...所以很显然,AMD比较适合浏览器环境。 目前,主要有两个Javascript库实现了AMD规范:require.js和curl.js。

    68410

    一文搞懂 JavaScript 模块化规范:CommonJS、AMD、ES6 Module

    二、早期的模块化标准 在 JavaScript 原生支持模块化之前,社区和开发者们提出了多种模块化规范。最具代表性的两种是 CommonJS 和 AMD。...AMD 规范 2.2.1 AMD 简介 AMD(Asynchronous Module Definition,异步模块定义)是一个在浏览器环境中使用的模块化规范。...可能存在的问题 虽然 AMD 规范在解决浏览器环境中模块异步加载方面有显著的优势,但它也存在一些潜在的问题和局限性: 模块定义复杂性增加:AMD 使用 define() 函数来定义模块,并且需要提前声明所有的依赖模块...过度依赖回调函数:AMD 模块化规范依赖于回调函数,这会导致代码结构的嵌套层级增加,出现俗称的“回调地狱”现象,使得代码的调试和维护变得更加困难。...AMD 规范通过异步加载的方式有效解决了 CommonJS 在浏览器环境下的性能问题,适合用于浏览器端的模块化开发。

    21910

    AMD && CMD

    所以很显然,AMD比较适合浏览器环境。目前,主要有两个Javascript库实现了AMD规范:require.js和curl.js。...与 RequireJS AMD 是 RequireJS 在推广过程中对模块定义的规范化产出 AMD异步加载模块。它的模块支持对象 函数 构造器 字符串 JSON等各种类型的模块。...四、CMD CMD是SeaJS 在推广过程中对模块定义的规范化产出 CMD和AMD的区别有以下几点: 1.对于依赖的模块AMD是提前执行,CMD是延迟执行。...RequireJS 遵循的是 AMD(异步模块定义)规范,SeaJS 遵循的是 CMD (通用模块定义)规范规范的不同,导致了两者API 的不同。...参考: 关于 CommonJS AMD CMD UMD JavaSript模块规范 - AMD规范与CMD规范介绍 JavaScript模块化 --- Commonjs、AMD、CMD、ES6 modules

    1.8K10

    前端开发规范之命名规范、html规范、css规范、js规范

    本文作者:IMWeb 我饿了 原文出处:IMWeb社区 未经同意,禁止转载 在学习编程的时候,每次看到那些整齐规范的代码,心里顿时对这个程序员表示点点好感,有时,比如看到自己和朋友写的代码时,...那阅读起来就是苦不堪言,所以,一些基本的开发规范是必须的,是为了自己方便阅读代码,也方便他人阅读修改代码。...canRead() { return true; } //获取姓名 function getName { return this.name; } ---- 常量 命名方法:全部大写 命名规范...文档规范 HTML5的文档类型声明:<!...'valid' : 'invalid' ---- JSHint 在js规范中,有很多规范都是样式上的规范而不是逻辑上的规范,比如尽量使用=== 而不是==,我们可以使用JSHint或者JSLint,Javascript

    6.4K10

    AMD、CMD、RequireJS

    1、为什么要使用模块化 最主要的目的 解决命名冲突 便于依赖管理 其他价值 提高代码可读性 代码解耦,提高复用性 2、CMD、AMD、CommonJS 规范分别指什么?...有哪些应用 1、CMD规范 CMD 即Common Module Definition通用模块定义,CMD规范是国内发展出来的,就像AMD有个requireJS,CMD有个浏览器的实现SeaJS,SeaJS...规范 AMD 即Asynchronous Module Definition,中文名是异步模块定义的意思。...它是一个在浏览器端模块化开发的规范;由于不是JavaScript原生支持,使用AMD规范进行页面开发需要用到对应的库函数,也就是大名鼎鼎RequireJS,实际上AMD 是 RequireJS 在推广过程中对模块定义的规范化的产出...image.png 使用AMD规范实现模块加载,使用RequireJS打包 代码 效果展示

    1.2K30
    领券