sea.js介绍
sea.js实现了javaScript的模块化加载,以及按模块开发,用以解决js繁琐的js命名冲突、文件依赖等问题
模块介绍
define(function(require, exports, module) {}
require--于记载加载模块,用require来进行其他模块的引用,例:var $ = require('jquery');
erports--接口点,通过这个参数,将这个模块的方法进行暴露,例:module.exports = encodeURL;
module--模块的元数据。其是一个对象
异步加载
require.async('jquery')
当使用的时候才会加载
无论require()还是require.async()都可以有第二个参数为回调函数,当文件加载成功时调用:
require.async('/path/to/module/file',function(m) {
//code of rollback
});
全局配置
用于引入全局公共js
app.js配置
(function() {
base: "../sea-modules/",
alias: {
"jquery": "jquery/jquery/1.10.1/jquery.js"
}
})();
其中base表示基址寻址时的基址路径,alias可以对较长的常用路径设置缩写。
暴露对外的方法:
exports.load = function(filename) {
require.async(filename)
}
jsp页面:
seajs.use('app',function(app) {
app.load('bulletin/bidBulletin/submitBidBulletin');
});