AMD--require
AMD規范:異步模塊加載機制
服務器端 -- 同步加載 ? 瀏覽器端 -- 異步加載 ? ? ? --> ?因為在服務器端中,所有模塊都存放在硬盤中,等待時間就是硬盤讀取時間,但是瀏覽器端,所有模塊都存放在服務器上,等待時間取決于網速快慢,可能很長時間瀏覽器處于假死狀態
1.下載require.js,確定index.js為程序入口,則
<script src="js/require.js" data-main="js/index"></script> ? ?--> ?data-main:指定網頁程序的主模塊
2.index.js頭部 ?使用require.config()對模塊的加載進行自定義
require.config({
baseUrl:"js/xx",
path:{"jquery":"jquery.min","自定義模塊":"自定義"}
});
然后
require(["jquery","自定義模塊"],function($,xx){回調函數 ?--> ?所有依賴這個模塊的語句,都定義在回調函數中,等依賴模塊加載完畢回調函數執行})
其中
1)如果依賴的是符合AMD規范的模塊,如jquery,則直接require就行
2)如果依賴的是自定義的模塊,則自定義模塊的文件中
define(模塊標識,所依賴的模塊,回調函數(){return 對象})
當index中require()加載這個自定義模塊時,會先加載所依賴的模塊
3)如果依賴的是非規范模塊,需要在require.config中定義特征
require.conifig({
shim:{"jquery.scroll":{deps:['jquery'],exports:'jquery.fn.scroll'}} ?});
shim:配置不兼容的模塊
exports:這個模塊外部調用時的名稱
deps:該模塊的依賴性