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");
})複製代碼