模塊可以很好的定義作用域來避免全局名稱空間污染,它可以顯示的定義出函數間的依賴關系,而不需要引用全局變量。
RequireJS可以加載多個不同的模塊,雖然加載的順序不一樣,但是能保證依賴的順序是正確的。
1. 當模塊中只有鍵值對時,可通過如下方式定義。
define({
name : "beautiful",
color: "yellow",
size: "3M"});2. 當模塊中沒有依賴,只有函數時,模塊的格式如下
define(function() {
return {
name : "beautiful",
color: "yellow",
size: "3M"
}
});3. 當模塊中有依賴函數時,先定義出依賴函數的路徑,依賴的函數的別名。
define(["./cart", "./inventory"], function(cart, inventory) {
return {
name : "beautiful",
color: "yellow",
size: "3M"
addToCart: function() {
inventory.decrement(this);
cart.add(this);
}
}
}
);4. 將模塊定義為函數
define(["my/cart", "my/inventory"], function(cart, inventory) {
return function(title) {
return title ? (window.title = title) :
inventory.storeName + ' ' + cart.name;
}
}
);通過上面的例子也許你已經注意到了,模塊中的注冊的函數或對象都是在return中返回的。如果你自定義了一些函數應該模塊通過return返回,否則模塊是無法找到你定義的函數的。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。