.seajs.config
seajs.config({
// 设置路径,方便跨项目调用
paths: {
'path1': '....',
'path2': '....'
},
// 设置别名,方便调用
alias: {
'class1': '...',
'class2': '...'
}
}); .seajs.use
用来在页面中加载一个或多个模块 // 加载一个模块
seajs.use('./a'); // 加载一个模块,在加载完成时,执行回调
seajs.use('./a', function(a) {
a.doSomething();
}); // 加载多个模块,在加载完成时,执行回调
seajs.use(['./a', './b'], function(a, b) {
a.doSomething();
b.doSomething();
}); .define
用来定义模块。
define(function(require, exports, module) {
// 模块代码
}); .require
用来获取指定模块的接口
define(function(require) {
// 获取模块a的接口
var a = require('./a');
// 调用模块a的方法
a.doSomething();
}); .require.async
用来在模块内部异步加载一个或多个模块
define(function(require) {
// 异步加载一个模块,在加载完成时执行回调
require.async('./b', function(b) {
b.doSomething();
});
// 异步加载多个模块,在加载完成时执行回调
require.async(['./c', './d'], function(c, d) {
c.doSomething();
d.doSomething();
});
}); .exports
用来在模块内部对外提供接口
define(function(require, exports) {
// 对外提供foo属性
exports.foo = 'bar';
// 对外提供doSomething方法
exports.doSomething = function() {};
}); .module.exports
用来在模块内部对外提供接口
define(function(require, exports, module) {
// 对外提供接口
module.exports = {
name: 'a',
doSomething: function() {};
};
});