AMD-requireJS
require.js是AMD的一种实现形式。
加载:
<script src="require.js" data-main="main"></script>(有时可加载文件可能造成页面失去响应,吧加载写在网页底部 )
main.js
主模块,依赖于其他模块。
require(['m1','m2','m3'],function(m1,m2,m3){
代码
}) 第一个参数是加载的依赖,必须是数组;第二个参数是回调函数,加载成功后会被调用
模块的加载
需要使用require.config()方法,主要是加载例如jQuery这样的js文件写在main.js的头部;
require.config({
//比如说现在m1,m2,m3与main.js在同一级目录下,加载路劲为:
paths:{ //模块路劲
m1:'m1',
m2:'m2',
m3:'m3'
}
//如果不在同一级目录下,可以修改基目录baseUrl,加入都在JS中lib文件下
baseUrl:"js/lib"
paths:{ //模块路劲
m1:'m1',
m2:'m2',
m3:'m3'
}
//如果在另一台主机上,直接后面接网址就可以了
})
加载非规范的模块
require.config({
shim:{
'underscore':{
exports: '_'
},
'backbone': {
deps: ['underscore', 'jquery'],
exports: 'Backbone'
}
}
})
shim属性:专门用来配置不兼容的模块;exports:标明这个模块外部调用时的名称;deps:标明该模块的依赖性,主要依赖的什么文件