Sea.js常用API参考
seajs.config({
//设置路径,方便跨目录调用
paths:{
'jquery':'/scripts/jquery',
'plugin':'plugin'
},
//设置别名,方便调用
alias:{
'jquery':'jquery/1.10.1/jquery', //jquery/1.10.1/jquery相当于/scripts/jquery/1.10.1/jquery.js
'bootstrap':'plugin/bootstrap'
}
});
更多配置:https://github.com/seajs/seajs/issues/262
seajs.use
用来在页面中记载一个或多个模块。
//加载一个模块
seajs.use('./a');
//加载一个模块,在加载完成时,执行回调
seajs.use('./a',function(a){
a.doSomething();
});
//加载多个模块,在加载完成时,执行回调
seajs.use(['./a','./b'],function(a,b){
a.doSomething();
b.doSomething();
});
更多用法:https://github.com/seajs/seajs/issues/260
define
用来定义模块。Sea.js推荐一个模块一个文件,遵循统一写法:
define(function(require,exports,module){
//模块代码
});
更多:https://github.com/seajs/seajs/issues/242
require
require用来获取指定模块的接口。
define(function(require){
//获取模块a的接口
var a=require('./a');
//调用模块a的方法
a.doSomething();
})
注意:require 只接受字符串直接量作为参数
更多:https://github.com/seajs/seajs/issues/259
require.async
用来在模块内部异步加载一个或多个模块
define(function(require){
//异步加载一个模块,在加载完成时,执行回调
require.async('./b',function(b){
b.doSomething();
});
//异步加载多个模块,在加载完成时,执行回调
require.async(['./c','./d'],function(c,d){
c.doSomething();
d.doSomething();
});
});
详细:https://github.com/seajs/seajs/issues/242
exports
用来在模块内部对外提供接口
define(function(require,exports){
//对外提供foo属性
exports.foo=bar;
//对外提供doSomething方法
exports.doSomething=function(){};
})
详细:https://github.com/seajs/seajs/issues/242
module.exports
与exports类似,用来在模块内部对外提供接口
define(function(require,exports,module){
//对外提供接口
module.exports={
name:'a',
doSomething:function(){}
};
})
详细:https://github.com/seajs/seajs/issues/242