简单来讲,requirejs就是用define来声明模块,用require来执行模块
requirejs 加载的模块都符合AMD,也就是说自己写的模块都必须符合AMD规范,下边来说下AMD模块的写法。
- 在介绍前,先描述下简单的目录结构
目录结构
project
|scripts
|libs
jquery.min.js
// other js files
|control
module1.js
main.js//入口文件
others
index.html
- index.html引用
<script src="js/libs/require.js" data-main="js/main.js"></script>
通常我们用define 来定义一个模块
- 配置main.js
require.config({
baseUrl: "js",
paths: {
"jquery": "libs/jquery-1.11.3",
"m1":'control/module1'}
});
* 声明模块
//目录结构中文件名 module1.js
define(function(){
return {
init: function(){
console.log(1)
}
}
})
如果模块需要依赖于jquery
define(['jquery'],function($){
return {
init: function(){
console.log($)
}
}
})
* 加载使用
require(['jquery','m1'],function(j,m){
//dosomething
})
思考: 一个完整的项目具有不同的页面,如何对不同的页面进行按需加载?