簡單的鍵值對定義
define({
color: "black",
size: "unisize"
});
如果一個模組沒有任何依賴,又需要做用一個函式做一些事情,直接定義一個函式然後傳給define()
//my/shirt.js 返回定義的模組是一個鍵值對
define(function () {
//Do setup work here
return {
color: "black",
size: "unisize"
}
});
使用需要依賴的函式來定義模組
如果一個模組有依賴,第一個引數應該是一組這個模組依賴的函式名 ,第二次引數就是你定義的函式,在依賴載入完,這個函式被定義成模組一次,函式應該返回一個物件,這個物件就是定義的模組,依賴將會作為引數傳遞給定義的函式,引數傳遞的順序和陣列裡定義依賴的模組順序一樣
//my/shirt.js 依賴的模組是 a cart 和 inventory
define(["./cart", "./inventory"], function(cart, inventory) {
//返回了一個模組,這個模組是一個物件 名字是my/shirt或者叫shirt
return {
color: "blue",
size: "large",
addToCart: function() {
inventory.decrement(this);
cart.add(this);
}
}
}
);
上面例子 my/shirt模組被建立,依賴my/cart和myinventory模組 ,硬碟上的目錄結構
my/cart.js
my/inventory.js
my/shirt.js
上面的函式定義了兩個引數叫 "cart" and "inventory". 兩個引數代表 my/cart和my/inventory模組,當my/cart和my/inventory模組載入完,my/shirt模組才被建立,這個函式收到"cart" and "inventory"作為引數傳進來
不建議定義全域性模組,一個模組可能在一個頁面一個時間點裡存在多個版本所以函式引數順序應該匹配模組依賴順序
返回一個函式作為模組
定義一個模組 foo/title.js 依賴於my/cart and my/inventory
define(["my/cart", "my/inventory"],
function(cart, inventory) {
//return a function to define "foo/title".
//It gets or sets the window title.
return function(title) {
return title ? (window.title = title) :
inventory.storeName + ' ' + cart.name;
}
}
);
給定義模組取一個名字,"foo/title"就是名字,但最好有引擎自己做。不要自己取
//Explicitly defines the "foo/title" module:
define("foo/title",
["my/cart", "my/inventory"],
function(cart, inventory) {
//Define foo/title object in here.
}
);
jsnop
require(["http://example.com/api/data.json?callback=define"],
function (data) {
//The data object will be the API response for the
//JSONP data call.
console.log(data);
}
);
RequireJs學習筆記之Define a Module
相關文章
- RequireJs學習筆記之data-main Entry PointUIJS筆記AI
- Object C學習筆記22-#define 用法Object筆記
- angular學習筆記(十五)-module裡的'服務'Angular筆記
- node學習筆記之39筆記
- 學習筆記之測試筆記
- Swoft 學習筆記之配置筆記
- Boltdb學習筆記之〇--概述筆記
- flask學習筆記之blueprintFlask筆記
- JS學習筆記之this指向JS筆記
- Java學習筆記之staticJava筆記
- oracle之awr學習筆記Oracle筆記
- Web之http學習筆記WebHTTP筆記
- 《筆記》之學習高併發筆記
- Vue(1)之—— Vuex學習筆記Vue筆記
- swoft 學習筆記之 response 篇筆記
- JVM學習筆記之棧區JVM筆記
- hive學習筆記之十一:UDTFHive筆記
- Golang學習筆記之方法(method)Golang筆記
- 學習筆記:DOM之appendChild筆記APP
- Java學習筆記之I/OJava筆記
- C++ 學習筆記之 引用C++筆記
- Android學習筆記之IntentAndroid筆記Intent
- Netty學習筆記之ChannelHandlerNetty筆記
- Java學習筆記之檔案Java筆記
- 安卓學習筆記之Activity(一)安卓筆記
- Java學習筆記之陣列Java筆記陣列
- Java學習筆記之繼承Java筆記繼承
- MD5之學習筆記筆記
- swift 學習筆記之陣列Swift筆記陣列
- CUDA 學習筆記之程式棧筆記
- Python學習筆記之序列Python筆記
- robot framework學習筆記之九-雜記Framework筆記
- [PyTorch 學習筆記] 3.1 模型建立步驟與 nn.ModulePyTorch筆記模型
- numpy的學習筆記\pandas學習筆記筆記
- Vue學習筆記之Webpack的使用Vue筆記Web
- MongoDB 學習筆記之常用 shell 命令MongoDB筆記
- ReactNative學習筆記十一之FlatListReact筆記
- Swoft 學習筆記之 request 請求筆記