欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

seajs學(xué)習(xí)教程之基礎(chǔ)篇

 更新時間:2016年10月20日 15:08:38   作者:royalrover  
Seajs是一個Web模塊加載框架,追求簡單、自然的代碼書寫和組織方式,Sea.js 遵循 CMD 規(guī)范,模塊化JS代碼。依賴的自動加載、配置的簡潔清晰,可以讓程序員更多地專注編碼。這篇文章為seajs深入學(xué)習(xí)的第一篇,主要介紹的基礎(chǔ)性的內(nèi)容,感興趣的朋友們可以參考學(xué)習(xí)。

介紹

眾所周知前端開發(fā)模塊化已經(jīng)是大勢所趨,目前模塊化的規(guī)范有很多,眾所周知的有commonJS,Module/Wrappings和AMD等,而且ES6也著手開始制定模塊化機制的實現(xiàn)。類似于c/c++的include,java中的import關(guān)鍵字,在js中也定義了require關(guān)鍵字,用以引進依賴模塊。

由于規(guī)范的多樣性,模塊化的實現(xiàn)也是各有各的不同。

nodejs遵從的就是commonJS規(guī)范,它有著一些形式上的約定:  

      1、require為函數(shù),該函數(shù)接受一個字符串作為模塊標示符

      2、require函數(shù)返回值為該模塊API

      3、require函數(shù)出錯,則拋出異常

      4、exports導(dǎo)出模塊API

      5、如果有多個require,則依次加載依賴

但是瀏覽器端加載的模塊卻不像服務(wù)器端,依賴模塊不在本地,需要通過http請求獲取文件,這就涉及到異步加載。但是異步加載并不阻塞代碼的運行,如果函數(shù)上下文中應(yīng)用了加載的依賴模塊,而此時依賴模塊并未加載或者解析完畢,就會拋出undefined錯誤,避免該錯誤的發(fā)生可以使用回調(diào)模式。當所有依賴模塊均加載完畢,后執(zhí)行代碼。這也就是Module/Wrappings規(guī)范,而seajs基本實現(xiàn)了該規(guī)范。

SeaJS 是一個模塊加載器,模塊加載器需要實現(xiàn)兩個基本功能:

      1、實現(xiàn)模塊定義規(guī)范,這是模塊系統(tǒng)的基礎(chǔ)。

      2、模塊系統(tǒng)的啟動與運行。

剖析

閱讀seajs官網(wǎng)的入門demo,首先在主頁面引入seajs文件,并設(shè)置入口

// seajs 的簡單配置
seajs.config({
 base: "../sea-modules/",
 alias: {
 "jquery": "jquery/jquery/1.10.1/jquery.js"
 }
})

// 加載入口模塊
seajs.use("../static/hello/src/main")

其次定義模塊(main.js)

// 所有模塊都通過 define 來定義
define(function(require, exports, module) {

 // 通過 require 引入依賴
 var $ = require('jquery');
 var Spinning = require('./spinning');

 // 通過 exports 對外提供接口
 exports.doSomething = ...

 // 或者通過 module.exports 提供整個接口
 module.exports = ...

});

這樣,當打開頁面時,會調(diào)用seajs.use函數(shù)并加載main.js文件,此時解析main模塊的依賴,并加載jquery和spining模塊,待這兩個模塊加載完畢,執(zhí)行回調(diào)函數(shù)。具體執(zhí)行細節(jié)將會在分析源碼時提到。

總結(jié)

以上就是關(guān)于seajs介紹與剖析的全部內(nèi)容,希望本文的內(nèi)容對大家學(xué)習(xí)或者使用seajs能有所幫助,如果有疑問大家可以留言交流。小編還會陸續(xù)更新關(guān)于seajs的文章,感興趣的朋友們請繼續(xù)關(guān)注腳本之家。

相關(guān)文章

  • SeaJS入門教程系列之完整示例(三)

    SeaJS入門教程系列之完整示例(三)

    這篇文章主要介紹了SeaJS入門教程系列之完整示例,演示了一個完整的SeaJS開發(fā)例子,需要的朋友可以參考下
    2014-03-03
  • seajs模塊壓縮問題與解決方法實例分析

    seajs模塊壓縮問題與解決方法實例分析

    這篇文章主要介紹了seajs模塊壓縮問題與解決方法,結(jié)合實例形式分析了seajs模塊壓縮過程中出現(xiàn)的問題及相應(yīng)的解決方法,需要的朋友可以參考下
    2017-10-10
  • Vue實現(xiàn)圖片懶加載的多種方法詳解

    Vue實現(xiàn)圖片懶加載的多種方法詳解

    圖片懶加載是前端開發(fā)中一項重要的性能優(yōu)化策略,它能夠明顯縮短頁面加載時間,提升用戶的瀏覽體驗,在本文中,我們將深入探討在Vue開發(fā)時候如何實現(xiàn)圖片懶加載,同時探討多種實現(xiàn)途徑,需要的朋友可以參考下
    2023-08-08
  • Seajs 簡易文檔 提供簡單、極致的模塊化開發(fā)體驗

    Seajs 簡易文檔 提供簡單、極致的模塊化開發(fā)體驗

    這篇文章主要介紹了Seajs 簡易文檔 提供簡單、極致的模塊化開發(fā)體驗,非官方文檔,整理來自己官方文檔的文字與實例,方便速查。需要的朋友可以參考下
    2016-04-04
  • seajs學(xué)習(xí)教程之基礎(chǔ)篇

    seajs學(xué)習(xí)教程之基礎(chǔ)篇

    Seajs是一個Web模塊加載框架,追求簡單、自然的代碼書寫和組織方式,Sea.js 遵循 CMD 規(guī)范,模塊化JS代碼。依賴的自動加載、配置的簡潔清晰,可以讓程序員更多地專注編碼。這篇文章為seajs深入學(xué)習(xí)的第一篇,主要介紹的基礎(chǔ)性的內(nèi)容,感興趣的朋友們可以參考學(xué)習(xí)。
    2016-10-10
  • seajs實現(xiàn)強制刷新本地緩存的方法分析

    seajs實現(xiàn)強制刷新本地緩存的方法分析

    這篇文章主要介紹了seajs實現(xiàn)強制刷新本地緩存的方法,結(jié)合實例形式簡單分析了seajs強制刷新本地緩存的原理、實現(xiàn)方法及相關(guān)注意事項,需要的朋友可以參考下
    2017-10-10
  • seaJs的模塊定義和模塊加載淺析

    seaJs的模塊定義和模塊加載淺析

    這篇文章主要介紹了seaJs的模塊定義和模塊加載淺析,以及模塊間的依賴關(guān)系等問題,需要的朋友可以參考下
    2014-06-06
  • seajs中模塊的解析規(guī)則詳解和模塊使用總結(jié)

    seajs中模塊的解析規(guī)則詳解和模塊使用總結(jié)

    這篇文章主要介紹了seajs中模塊的解析規(guī)則詳解和模塊使用總結(jié),需要的朋友可以參考下
    2014-03-03
  • seajs中最常用的7個功能、配置示例

    seajs中最常用的7個功能、配置示例

    這篇文章主要介紹了seajs中最常用的7個功能、配置,結(jié)合實例形式簡單分析了seajs中常用的項目配置、模塊加載、定義、獲取等操作技巧,需要的朋友可以參考下
    2017-10-10
  • SeaJS入門教程系列之使用SeaJS(二)

    SeaJS入門教程系列之使用SeaJS(二)

    這篇文章主要介紹了SeaJS入門教程系列之使用SeaJS,著重介紹了SeaJS的使用方法、關(guān)鍵方法的使用等,需要的朋友可以參考下
    2014-03-03

最新評論