Require.JS中的幾種define定義方式示例
本文主要給大家介紹的是關(guān)于Require.JS中define定義方式的相關(guān)內(nèi)容,分享出來供大家參考學(xué)習(xí),下面來看看詳細的介紹:
定義簡單的鍵值對
define({ color: "black", size: "unisize" });
定義不帶依賴的函數(shù)
define(function () { //Do setup work here return { color: "black", size: "unisize" } });
存在依賴的函數(shù)式定義
如果模塊存在依賴:則第一個參數(shù)是依賴的名稱數(shù)組;第二個參數(shù)是函數(shù),在模塊的所有依賴加載完畢后,該函數(shù)會被調(diào)用來定義該模塊,因此該模塊應(yīng)該返回一個定義了本模塊的object。依賴關(guān)系會以參數(shù)的形式注入到該函數(shù)上,參數(shù)列表與依賴名稱列表一一對應(yīng)。
define(["./cart", "./inventory"], function(cart, inventory) { //return an object to define the "my/shirt" module. return { color: "blue", size: "large", addToCart: function() { inventory.decrement(this); cart.add(this); } } } );
將模塊定義為一個函數(shù)
對模塊的返回值類型并沒有強制為一定是個object,任何函數(shù)的返回值都是允許的。此處是一個返回了函數(shù)的模塊定義:
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; } } );
定義一個命名模塊
你可能會看到一些define()
中包含了一個模塊名稱作為首個參數(shù):
define("foo/title", ["my/cart", "my/inventory"], function(cart, inventory) { //Define foo/title object in here. } );
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。