// seajs 的簡單配置
seajs.config({
base: "/scripts/",
alias: {
"jquery": "jquery.js"
}
})
//狀況1、若是定義和調用在同一個文件
//實例一:define、use
//必須聲明模板標識
define("user", function () {
alert("用戶信息");
});
// 加載入口模塊
seajs.use("user")
//實例二:require,require 的參數值 必須 是字符串直接量。
define("sex", ["男", "女"]);
define("user", function (require) {
// 經過require 引入依賴
var sex = $ = require('sex');
alert(sex[0]);
});
// 加載入口模塊
seajs.use("user")
//實例三:exports
define("account", function (require, exports) {
// 經過 exports 對外提供接口
exports.profile = {
name: "姓名",
sex: "男"
}
exports.islogin = function () {
return true;
}
});
define("user", function (require) {
// 經過require 引入依賴
var account = $ = require('account');
//加載exports接口
alert(account.profile.name);
alert(account.islogin());
});
// 加載入口模塊
seajs.use("user")
//實例三:module.exports
define("account", function (require, exports, module) {
function account() { }
account.prototype.name = "姓名";
// 或者經過 module.exports 提供整個接口
module.exports = account;
});
define("user", function (require, exports, module) {
// 經過require 引入依賴
var account = $ = require('account');
//加載module.exports接口
var ac = new account();
alert(ac.name);
});
// 加載入口模塊
seajs.use("user")
//實例四:插件開發:seajs.on(event, callback)
// 給 account 事件添加一個回調
seajs.on('account', function (data) {
alert("插件開發指南");
});
// 加載入口模塊
seajs.emit('account', {});
事件類型
內部提供了 8 種事件
resolve -- 將 id 解析成爲 uri 時觸發
load -- 開始加載文件時觸發
fetch -- 具體獲取某個 uri 時觸發
request -- 發送請求時觸發
define -- 執行 define 方法時觸發
exec -- 執行 module.factory 時觸發
config -- 調用 seajs.config 時觸發
error -- 加載腳本文件出現 404 或其餘錯誤時觸發
自定義事件
seajs.on(event, callback)
移除事件回調
seajs.off seajs.off(event, callback)
seajs.off(event);
seajs.off();
觸發事件
seajs.emit seajs.emit(event, data)
jquery