一、框架的意义
- js文件之间存在依赖关系,因此必须严格保证加载顺序,依赖性最大的模块一定要放到最后加载,当依赖关系很复杂的时候,代码的编写和维护都会变得困难。
- 支持异步加载js文件,解决同步加载js文件过多导致的响应时间过长
- require.js的诞生就是为了解决上面所说的两个问题:
- 实现js文件的异步加载,避免网页失去响应
- 管理模块之间的依赖性,便于代码的编写和维护
- 特点:加载即执行
二:使用教程
require.config({ //定义逻辑层ISSUConsumeTimeView.js模块所依赖的js模块
appDir : "./",
baseUrl : "js/",
shim : { //加载不支持AMD规范的模块库
'backbone' : {
deps : [ 'underscore', 'jquery' ], //数组,表示其依赖的库
exports : 'Backbone' //输出的对象名
},
paths : { //js模块的路径
backbone : 'libs/backbone/backbone',
}
});
//加载backbone.js和逻辑层ISSUConsumeTimeView.js,返回ISSUDBTimeView对象
require([ 'backbone','views/ISSUConsumeTimeView','page'], function(Backbone, ISSUConsumeTimeView,page) {
var ISSUConsumeTimeView = new ISSUConsumeTimeView();
return ISSUConsumeTimeView;
});
2.ISSUDBTimeView.js:页面逻辑处理js模块,define里引入当前模块依赖的所有模块,function里进行逻辑处理。