- RequireJS 教程
- RequireJS - 首頁
- RequireJS - 概述
- RequireJS - 環境設定
- RequireJS - 配置
- RequireJS - AMD 模組
- RequireJS - 定義函式
- RequireJS - 最佳化器
- RequireJS - jQuery
- RequireJS - NodeJS
- RequireJS - Dojo
- RequireJS - CommonJS
- RequireJS - 外掛
- RequireJS 有用資源
- RequireJS - 快速指南
- RequireJS - 有用資源
- RequireJS - 討論
RequireJS - AMD 模組
RequireJS 中的模組是一個作用域物件,不在全域性名稱空間中使用。因此,全域性名稱空間不會受到汙染。RequireJS 語法允許更快地載入模組,而無需擔心跟蹤依賴項的順序。您可以在同一頁面中載入同一模組的多個版本。
定義模組
使用 define() 函式定義模組;該函式還用於載入模組。
簡單的名稱/值對
如果模組只是一組名稱和值對,則可以使用以下語法 -
define({
state: "karnataka",
city: "bangalore"
});
定義函式
模組還可以對框架使用函式,而不具有依賴關係。這可以透過使用以下語法來完成 -
define(function () {
//Do setup work here
return {
state: "karnataka",
city: "bangalore"
}
});
定義具有依賴項的函式
如果模組具有依賴項,則以下語法中顯示了第一個引數(依賴項名稱陣列)、第二個引數(定義函式)和定義模組的返回物件的位置 -
define(["./mnc", "./startup"],
function(mnc, startup) {
return {
state: "karnataka",
city: "bangalore",
addCompany: function() {
mnc.decrement(this);
startup.add(this);
}
}
}
);
將模組定義為函式
模組不強制要求僅返回物件,還可以返回來自函式的任何有效值。以下語法用於將模組定義為函式 -
define(["./mnc", "./startup"],
function(mnc, startup) {
return function(title) {
return title ? (window.title = title) :
startup.storeName + ' ' + mnc.name;
}
}
);
使用名稱定義模組
在某些情況下,您可能必須將名稱作為第一個引數包含到define() 中,以獲得模組。這可以透過使用以下語法來完成 -
define("js2/title",
["js1/mnc", "js1/startup"],
function(mnc, startup) {
//Define js2/title object in here.
}
);
廣告