国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專(zhuān)欄INFORMATION COLUMN

seajs 模塊化編程js代碼

YJNldm / 2923人閱讀

摘要:模塊初始化時(shí),會(huì)調(diào)用且僅調(diào)用一次該工廠函數(shù)。用來(lái)向外提供模塊的除了給對(duì)象增加成員,還可以使用直接向外提供可簡(jiǎn)化為函數(shù)用來(lái)訪問(wèn)其他模塊提供的異步加載模塊,并在加載完成后執(zhí)行回調(diào)函數(shù)使用的內(nèi)部機(jī)制來(lái)解析并返回模塊路徑。手冊(cè)的模塊化插件

seajs是我剛?cè)腴T(mén)前端就接觸到的一個(gè)javaScript模塊加載框架。使用seajs后javaScript代碼的可讀性和清晰度有了很大的提升,插件的使用和組裝變的很方便。更加方便代碼的升級(jí)和維護(hù)。推薦使用插件比較多的項(xiàng)目使用?;蛘呤褂胷equirejs也比較流行。

ps:如果想知道RequireJS、SeaJS哪個(gè)好用的可以自行對(duì)比,或者查看

seajs 的簡(jiǎn)單上手

首先先去官網(wǎng)下載最新版本。
下載后,假定把它放在js子目錄下面,就可以加載了。

   
          

加載seajs后我們還需要加載自己的js配置文件

     
          

seajs 的簡(jiǎn)單配置

      //.sea-config.js 
      seajs.config({
          base: "../plug-js/",
          alias: {
            "jquery": "jquery/1.10.1/jquery.js"
          }
      })  

簡(jiǎn)單使用

  // 所有模塊都通過(guò)define來(lái)定義
  define(function(require,exports,module){
        // 通過(guò)require來(lái)引入jquery
        var $ = require("jquery");
        
        console.log($);
  })
seajs參數(shù) define

使用全局函數(shù)define來(lái)定義函數(shù)

define(id?,dependencies?,factory);

id: 當(dāng)前模塊的唯一標(biāo)識(shí)。該參數(shù)可選。如果沒(méi)有指定,默認(rèn)為模塊所在文件的訪問(wèn)路徑。如果指定的話,必須是頂級(jí)或絕對(duì)標(biāo)識(shí)。
dependencies: 當(dāng)前模塊所依賴(lài)的模塊,是一個(gè)由模塊標(biāo)識(shí)組成的數(shù)組。
factory: 模塊的工作函數(shù)。模塊初始化時(shí),會(huì)調(diào)用且僅調(diào)用一次該工廠函數(shù)。

define(function(require,exports,module){
    //The module code goes here
})

**注意:不推薦不要設(shè)定id和dependencies參數(shù)。

exports

exports 用來(lái)向外提供模塊的API

define(function(require,exports){
    // snip 
    exports.foo = "bar";
    exports.doSomething = function(){};
})

除了給exports對(duì)象增加成員,還可以使用return直接向外提供API

define(function(require,exports){
    // snip...
    return {
      foo : "bar",
      doSomething : function(){}
    }
})
可簡(jiǎn)化為:
define({
   foo : "bar",
   doSomething : function(){} 
})
require

require函數(shù)用來(lái)訪問(wèn)其他模塊提供的API

define(function(require){
   var a = require("./a");
   a.doSomething();
})

require.async: 異步加載模塊,并在加載完成后執(zhí)行回調(diào)函數(shù)
require.resolv: 使用require()的內(nèi)部機(jī)制來(lái)解析并返回模塊路徑。該函數(shù)不會(huì)加載模塊,只返回解析后的路徑。
require.load: 該方法可用異步加載腳本,并在加載完成后,執(zhí)行指定的回調(diào)函數(shù)。
require.constructor: 給所有require參數(shù)對(duì)象添加一些公用屬性或方法。

module

modeule 參數(shù)存儲(chǔ)模塊的元信息

module.id: 當(dāng)前模塊的唯一標(biāo)識(shí)。
module.dependencies: 表示當(dāng)前模塊的依賴(lài)列表
module.exports: exports是某個(gè)類(lèi)的實(shí)例

   define(function(require,exports,module){
         console.log(module.exports === exports); // true
         module.exports = new SomeClass();
         console.log(module.exports === exports); // false
   })

module.constructor: 給module參數(shù)對(duì)象添加一些公用屬性或方法。

api手冊(cè)

seajs的模塊化插件

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/78263.html

相關(guān)文章

  • 再談JavaScript塊化

    摘要:應(yīng)用日益復(fù)雜,模塊化已經(jīng)成為一個(gè)迫切需求。異步模塊加載機(jī)制。引用的資源列表太長(zhǎng),懶得回調(diào)函數(shù)中寫(xiě)一一對(duì)應(yīng)的相關(guān)參數(shù)假定這里引用的資源有數(shù)十個(gè),回調(diào)函數(shù)的參數(shù)必定非常多這就是傳說(shuō)中的 簡(jiǎn)述 緣起 模塊通常是指編程語(yǔ)言所提供的代碼組織機(jī)制,利用此機(jī)制可將程序拆解為獨(dú)立且通用的代碼單元。 模塊化主要是解決代碼分割、作用域隔離、模塊之間的依賴(lài)管理以及發(fā)布到生產(chǎn)環(huán)境時(shí)的自動(dòng)化打包與處理等多個(gè)方面...

    MorePainMoreGain 評(píng)論0 收藏0
  • 使用CommonJS,AMD以及CMD編寫(xiě)塊化JavaScripts

    摘要:模塊化編程首先,我想說(shuō)說(shuō)模塊化編程這個(gè)概念當(dāng)我不清楚這個(gè)概念的時(shí)候,其實(shí)說(shuō)什么模塊化編程多好多好都是懵逼的而我一直不覺(jué)得有多好,其實(shí)也是因?yàn)槲覐拈_(kāi)始寫(xiě),就一直都在模塊化編程啊我們寫(xiě)一個(gè)文件然后我們?cè)谖募幸肴缓笳{(diào)用方法哈哈這樣已經(jīng)是模塊化 模塊化編程 首先,我想說(shuō)說(shuō)模塊化編程這個(gè)概念當(dāng)我不清楚這個(gè)概念的時(shí)候,其實(shí)說(shuō)什么模塊化編程多好多好都是懵逼的而我一直不覺(jué)得有多好,其實(shí)也是因?yàn)槲覐?..

    nifhlheimr 評(píng)論0 收藏0
  • 關(guān)于JavaScript模塊規(guī)范之CommonJSAMDCMD

    摘要:所有依賴(lài)這個(gè)模塊的語(yǔ)句,都定義在一個(gè)回調(diào)函數(shù)中,等到加載完成之后,這個(gè)回調(diào)函數(shù)才會(huì)運(yùn)行。也采用語(yǔ)句加載模塊,但是不同于,它要求兩個(gè)參數(shù)第一個(gè)參數(shù),是一個(gè)數(shù)組,里面的成員就是要加載的模塊第二個(gè)參數(shù),則是加載成功之后的回調(diào)函數(shù)。 本篇文章來(lái)自對(duì)文章《js模塊化編程之徹底弄懂CommonJS和AMD/CMD!》的總結(jié),大部分摘自文章原話,本人只是為了學(xué)習(xí)方便做的筆記,之后有新的體會(huì)會(huì)及時(shí)補(bǔ)充...

    binaryTree 評(píng)論0 收藏0
  • require.js構(gòu)建優(yōu)化

    摘要:未構(gòu)建之前,全部分開(kāi)加載。的優(yōu)化,得再看下的示例,然后再寫(xiě)篇筆記記錄下來(lái)。 想摸透javascript模塊化編程是怎么一回事,在seajs和requirejs之間兜兜轉(zhuǎn)轉(zhuǎn),看了許多相關(guān)資料和文章,算是大致理清它們的異同,撇開(kāi)requirejs加載方式的另類(lèi)(其實(shí)目前我暫時(shí)還沒(méi)去感受),于寫(xiě)法,比較喜歡requirejs的寫(xiě)法,這個(gè)比較主觀,這也得益于阮一峰大大那篇Javascript模...

    yacheng 評(píng)論0 收藏0
  • commonjs、AMD、CMD規(guī)范(相關(guān)文章)

    摘要:是對(duì)的規(guī)范的實(shí)現(xiàn),當(dāng)然和規(guī)范還是有點(diǎn)誤差的。,就是遵循他提出的規(guī)范。 1:Javascript模塊化編程(三):require.js的用法 http://www.ruanyifeng.com/blo...2:RequireJS 模塊的定義與加載 http://www.cnblogs.com/bzggoo...(加載的順序不定,但依賴(lài)的順序最終是正確的;因?yàn)闊o(wú)需創(chuàng)建全局變量,甚至可以做到...

    lcodecorex 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<