AMD,异步模块加载---------应用于客户端开发。
data-main
data-main规定了require的BaseUrl,即所有的模块加载都是依赖这个路径的。
config.path
如果我们相对应用中的不同路径划分不同路径就需要使用path:
<script data-main="js/app.js" src="js/scripts"></script>
require.js.config({
path : {
app : ../app
}
})
图片稍后补上。在requireJS官网上有一个note:
the path setting are assumed to be relative to BaseUrl, unless the path setting starts with a "/" or Url protocal('http').
define module
模块定义应该是最终要的了。RequireJS能够兼容CMD,如:
define(function(require, exports, module){
function Person(name){
this.name = name;
}
Person.prototype.sayName = function(){
return this.name;
}
exports.Person = Person;
})
一般情况下,requireJS应该是这个样子的:
define(function(){
function Person(name){
this.name = name;
}
Person.prototype.sayName = function(){
return this.name;
}
return Person;
})
只要将function作为result返回就可以了。
requireJs容易上手,但是想用好它可不是明白上面的东西就行了,会慢慢吃透它。