Appearance
AMD : 浏览器端
异步模块定义
模块是异步加载的(浏览器环境,肯定不能同步加载)
提前执行
require.js
基本语法
定义暴露模块:
define([依赖模块名], function(){return 模块对象})
引入模块:
require(['模块 1', '模块 2', '模块 3'], function(m1, m2){//使用模块对象})
配置:
js
require.config({
//基本路径
baseUrl: "js/",
//标识名称与路径的映射
paths: {
模块1: "modules/模块1",
模块2: "modules/模块2",
angular: "libs/angular",
"angular-messages": "libs/angular-messages",
},
//非AMD的模块
shim: {
angular: {
exports: "angular",
},
"angular-messages": {
exports: "angular-messages",
deps: ["angular"],
},
},
})
定义与使用
js
define("moduleA", function() {
return {
a: 1,
}
})
js
define("moduleB", ["moduleA"], function(moduleA) {
return {
b: moduleA.a,
}
})