在 hello.html 頁尾,通過 script 引入 sea.js 后,有一段配置代碼:
seajs.config
用來對(duì) Sea.js 進(jìn)行配置。
seajs.config({ // 設(shè)置路徑,方便跨目錄調(diào)用 paths: { 'arale': 'https://a.alipayobjects.com/arale', 'jquery': 'https://a.alipayobjects.com/jquery' }, // 設(shè)置別名,方便調(diào)用 alias: { 'class': 'arale/class/1.0.0/class', 'jquery': 'jquery/jquery/1.10.1/jquery' }});更多配置項(xiàng)請(qǐng)參考:#262 seajs.use
用來在頁面中加載一個(gè)或多個(gè)模塊。
// 加載一個(gè)模塊seajs.use('./a');// 加載一個(gè)模塊,在加載完成時(shí),執(zhí)行回調(diào)seajs.use('./a', function(a) { a.doSomething();});// 加載多個(gè)模塊,在加載完成時(shí),執(zhí)行回調(diào)seajs.use(['./a', './b'], function(a, b) { a.doSomething(); b.doSomething();});更多用法請(qǐng)參考:#260 define
用來定義模塊。Sea.js 推崇一個(gè)模塊一個(gè)文件,遵循統(tǒng)一的寫法:
define(function(require, exports, module) { // 模塊代碼});也可以手動(dòng)指定模塊 id 和依賴,詳情請(qǐng)參考:#242 require, exports 和 module 三個(gè)參數(shù)可酌情省略,具體用法如下。 require
require 用來獲取指定模塊的接口。
define(function(require) { // 獲取模塊 a 的接口 var a = require('./a'); // 調(diào)用模塊 a 的方法 a.doSomething();});注意,require 只接受字符串直接量作為參數(shù),詳細(xì)約定請(qǐng)閱讀:#259 require.async
用來在模塊內(nèi)部異步加載一個(gè)或多個(gè)模塊。
define(function(require) { // 異步加載一個(gè)模塊,在加載完成時(shí),執(zhí)行回調(diào) require.async('./b', function(b) { b.doSomething(); }); // 異步加載多個(gè)模塊,在加載完成時(shí),執(zhí)行回調(diào) require.async(['./c', './d'], function(c, d) { c.doSomething(); d.doSomething(); });});詳細(xì)說明請(qǐng)參考:#242 exports
用來在模塊內(nèi)部對(duì)外提供接口。
define(function(require, exports) { // 對(duì)外提供 foo 屬性 exports.foo = 'bar'; // 對(duì)外提供 doSomething 方法 exports.doSomething = function() {};});詳細(xì)說明請(qǐng)參考:#242 module.exports
與 exports 類似,用來在模塊內(nèi)部對(duì)外提供接口。
define(function(require, exports, module) { // 對(duì)外提供接口 module.exports = { name: 'a', doSomething: function() {}; };});module.exports 與 exports 的區(qū)別,以及詳細(xì)說明請(qǐng)參考:#242
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注