RequireJS 插件 http://requirejs.org/docs/api.html#plugins
①require.js脚本的异步加载
<script src="js/require.js" defer async="true" data-main="js/main"></script>
②路径配置
require.config({
baseUrl: "js/lib",
paths: {
"jquery": "jquery.min",
"underscore": "underscore.min",
"backbone": "backbone.min"
}
});
- baseUrl:设定基目录
- paths:指定路径
③模块定义
define(['myLib'], function(myLib){
function foo(){
myLib.doSomething();
}
return {
foo : foo
};
});
④模块加载
require(['jquery', 'underscore', 'backbone'], function ($, _, Backbone){
// some code here
});
⑤jQuery的加载
if ( typeof define === "function" && define.amd ) {
define( "jquery", [], function() {
return jQuery;
});
}
上面是jquery源码里的一段代码,通过这段代码 我们不需要指定jquery的路径,因为已经预定义为了 jquery。
⑥jQuery插件
require.config({
baseUrl: "../Scripts"
, paths: {
jquery: "jquery.min"
}
,shim: {
'jquery.orbit': {
deps: ['jquery']
}
}
});
重点在于shim的使用。
上面的例子,jquery.orbit是插件文件的路径
deps:指定依赖的模块