Requirejs2.0笔记

时间:2023-03-09 23:32:09
Requirejs2.0笔记

API http://requirejs.org/

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:指定依赖的模块