1、requirejs遵循AMD規範,將需要的都載入好(前置載入)。註:cmd是就近載入。 (1)AMD採用非同步載入,模塊的載入不影響它後面語句的執行。 (2)所有依賴這個模塊的語句,都定義在一個回調函數中,等前面需要載入的模塊載入完成後這個回調函數才運行,解決了依賴性的問題。 2、requirej ...
1、requirejs遵循AMD規範,將需要的都載入好(前置載入)。註:cmd是就近載入。
define(['jQuery','dialog'],function($,d){
// 業務邏輯
})
(1)AMD採用非同步載入,模塊的載入不影響它後面語句的執行。
(2)所有依賴這個模塊的語句,都定義在一個回調函數中,等前面需要載入的模塊載入完成後這個回調函數才運行,解決了依賴性的問題。
2、requirejs路徑解析
代碼結構為:
示例代碼:
index.html
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>Document</title>
</head>
<body>
<!--data-main 是入口文件js/main.js js/main都行-->
<script src="js/require.js" type="text/javascript" charset="utf-8" data-main="js/main"></script>
</body>
</html>
main.js為
//配置文件
requirejs.config({
baseUrl:'js/',//預設是main.js所在的文件夾為基準。
paths:{
jquery:'jquery-1.12.4.min'//起個別名
}
});
//載入入口模塊
requirejs(['index']);//從基準路徑js下開始查找,謹記不能寫為index.js
baseUrl
指定了一個目錄,然後requirejs基於這個目錄來尋找依賴的模塊。
baseUrl預設為main.js的路徑
baseUrl+paths配置路徑,如上面的main.js的代碼:
jquery的路徑為:js/jquery-1.12.4.min
baseURl設置方式有三種:
(1)用requirejs.config顯示指定baseUrl;
(2)如果指定了Entry Point(data-main)文件,則baseUrl為Entry Point所在目錄;
(3)如果上述均未指定,則baseUrl為運行RequireJS的HTML文件所在目錄。