// seajs 的简单配置
seajs.config({
base: "/scripts/",
alias: {
"jquery": "jquery.js"
}
})
//情况一、如果定义和调用在同一个文件
//实例一: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)