Requirejs2.0笔记
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:指定依赖的模块