成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

seajs 模塊化編程js代碼

YJNldm / 2925人閱讀

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

seajs是我剛?cè)腴T前端就接觸到的一個javaScript模塊加載框架。使用seajs后javaScript代碼的可讀性和清晰度有了很大的提升,插件的使用和組裝變的很方便。更加方便代碼的升級和維護。推薦使用插件比較多的項目使用。或者使用requirejs也比較流行。

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

seajs 的簡單上手

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

   
          

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

     
          

seajs 的簡單配置

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

簡單使用

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

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

define(id?,dependencies?,factory);

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

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

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

exports

exports 用來向外提供模塊的API

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

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

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

require函數(shù)用來訪問其他模塊提供的API

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

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

module

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

module.id: 當前模塊的唯一標識。
module.dependencies: 表示當前模塊的依賴列表
module.exports: exports是某個類的實例

   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ù)對象添加一些公用屬性或方法。

api手冊

seajs的模塊化插件

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

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/78263.html

相關(guān)文章

  • 再談JavaScript塊化

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

    MorePainMoreGain 評論0 收藏0
  • 使用CommonJS,AMD以及CMD編寫塊化JavaScripts

    摘要:模塊化編程首先,我想說說模塊化編程這個概念當我不清楚這個概念的時候,其實說什么模塊化編程多好多好都是懵逼的而我一直不覺得有多好,其實也是因為我從開始寫,就一直都在模塊化編程啊我們寫一個文件然后我們在文件中引入然后調(diào)用方法哈哈這樣已經(jīng)是模塊化 模塊化編程 首先,我想說說模塊化編程這個概念當我不清楚這個概念的時候,其實說什么模塊化編程多好多好都是懵逼的而我一直不覺得有多好,其實也是因為我從...

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

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

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

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

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

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

    lcodecorex 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<