AMD规范
- 主要实践者: require.js
- require.config()指定引用路径等
- define()定义模块
- require()加载模块
define()定义一个普通AMD模块
// math.js
define(function(){
var add = function(x,y){
return x+y;
}
return {
add: add
}
})
require()加载模块
在html页面中加载主模块
<script src="js/require.js" data-main="js/main"></script> <!-- data-main属性: 指定主模块, js/main.js 这个文件会被require.js第一个加载 -->
在主模块
/js/main.js
中配置依赖模块// /js/main.js // 配置项: 可以指定模块文件的路径 require.config({ baseUrl: "js/lib",// 所有模块都从该路径下加载 paths: { "jquery": "jquery.min", "underscore": "underscore.min", "backbone": "backbone.min" } }); // AMD规范的require()函数 // 第一个参数: 数组(表示依赖的模块) // 第二个参数: 回调函数(当前面指定的模块加载成功后调用) require(['jquery', 'underscore', 'backbone'], function ($, _, Backbone){ // require.js会先加载jQuery、underscore和backbone,然后再运行回调函数 // 主模块代码就写在这个回调函数中 });