node.js學(xué)習(xí)記錄二:模塊化規(guī)范

一、 服務(wù)器端模塊化規(guī)范

二、瀏覽器端模塊化規(guī)范

  • AMD
    • RequireJS
  • CMD
    • SeaJS
    • commonjs
  • node.js
  • 區(qū)別
    • 對(duì)于依賴的模塊,AMD提前執(zhí)行,CMD延遲執(zhí)行
    • CMD推崇依賴就近,AMD推崇依賴前置
    • AMD的API默認(rèn)一個(gè)當(dāng)多個(gè)用,CMD的API嚴(yán)格區(qū)分,職責(zé)單一
    • 還有一些細(xì)節(jié)的差異,具體看規(guī)范

三、SeaJS

3.1、 基本使用

3.2、整體感知

3.3、定義模塊 define

  • 定義模塊 define(function(require, exports, module){})
  • 函數(shù)體內(nèi)的方法屬性都屬于這個(gè)方法,對(duì)外有封裝性;解決了命名沖突問題,使js代碼有了封裝性
  • 直接調(diào)用 jQuery 插件等非標(biāo)準(zhǔn)模塊的方法 http://my.oschina.net/briviowang/blog/208587

3.4、啟動(dòng)模塊 seajs.use

  • 加載入口模塊,我們把define定義的js就叫模塊
  • 這個(gè)用于在html代碼里面的加載

3.5、加載模塊 require

-加載文件依賴、模塊依賴的,用于define函數(shù)體內(nèi)

3.6 暴露接口 exports 和 module.exports

  • module.exports曝露出一個(gè)完整的對(duì)象,只能扔一次只能曝露出來一個(gè)
  • exports是module.exports的別名,可以用來單個(gè)屬性、方法、對(duì)象的曝露,用.的形式,exports能做的事情module.exports也可以做
  • 使用場景用.屬性的形式曝露屬性和方法的時(shí)候,而且是多個(gè)的時(shí)候用exports
  • module.exports直接等于的方式用,直接等于一個(gè)方法屬性對(duì)象等等~~~

3.7、requirejs

與seajs的區(qū)別
requirejs是優(yōu)先加載的
seajs是懶加載的,就是有拖延癥,用的時(shí)候才加載
http://www.requirejs.cn/

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容