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

原文地址:https://www.cnblogs.com/TiestoRay/p/4017573.html