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