javascript模塊化簡單解析

字號:


    本文為大家解讀javascript的模塊化,具體內(nèi)容如下
    AMD是RequireJS在推廣過程中對模塊定義的規(guī)范化產(chǎn)出。
    異步加載模塊,依賴前置,提前執(zhí)行。
    Define定義模塊 define([‘require','foo'],function(){return});
    Require加載模塊(依賴前置) require([‘foo','bar'],function(foo,bar){});
    CMD是SeaJS在推廣過程中對模塊定義的規(guī)范化產(chǎn)出。
    Define定義exports 導(dǎo)出define(function(require,exports,module){});  module上存儲了當(dāng)前模塊上的一些對象。
    require(./a)直接引入。Require.async異步引入。
    同步加載,依賴就近,延遲執(zhí)行。 
    SeaJS 的應(yīng)用
    官方入門例子:http://seajs.org/docs/#quick-start
    怎么寫一個SeaJS模塊?
    // 所有模塊都通過 define 來定義
    define(function(require, exports, module) {
     // 通過 require 引入依賴
     var $ = require('jquery');
     var Spinning = require('./spinning');
     // 通過 exports 對外提供接口
     exports.doSomething = ...
     // 或者通過 module.exports 提供整個接口
     module.exports = ...
    });
    在頁面中加載模塊
    //在 hello.html 頁尾,通過 script 引入 sea.js 后,有一段配置代碼:
    // seajs 的簡單配置
    seajs.config({
     base: "../sea-modules/",
     alias: {
      "jquery": "jquery/jquery/1.10.1/jquery.js"
     }
    })
    // 加載入口模塊
    seajs.use("../static/hello/src/main")
    以上就是關(guān)于javascript模塊化的簡單介紹,希望對大家學(xué)習(xí)javascript模塊化有所幫助。