AMD是一种为浏览器环境设计的一种异步模块加载规范,node
AMD规范全称是Asynchronous Module Definition,即异步模块加载机制。从它的规范描述页面看,AMD很短也很简单,但它却完整描述了模块的定义,依赖关系,引用关系以及加载机制。从它被requireJS,NodeJs,Dojo,JQuery使用也能够看出它具备很大的价值,没错,JQuery近期也采用了AMD规范。 做为一个规范,只需定义其语法API,而不关心其实现。数组
AMD规范简单到只有一个API,即define函数:
define([module-name?], [array-of-dependencies?], [module-factory-or-object]);
其中:
module-name: 模块标识,能够省略。
array-of-dependencies: 所依赖的模块,能够省略。
module-factory-or-object: 模块的实现,或者一个JavaScript对象。浏览器
遵循AMD规范,是一种小巧的js模块载入框架,能够运行在浏览器以及node环境下,实现模块化加载。bash
一、防止js加载阻塞页面渲染框架
二、使用程序调用的方式加载js,实现异步加载,按需加载异步
定义三个变量:模块化
一、define:定义一个模块函数
a.jsui
define(function(){
function fun1(){
alert("it works");
}
fun1();
})复制代码
二、require===require.js,通常使用require更简短:加载依赖模块,并执行加载完后的回调函数spa
经过define函数定义了一个模块,而后再页面中使用:
require(["js/a"]);复制代码
来加载该模块(
),require API的第二个参数是callback,一个function,是用来处理加载完毕后的逻辑,如:
require(["js/a"],function(){
alert("load finished");
})复制代码