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