require.config({ 
    shim: { 
      'underscore':{ 
        exports: '_' 
      }, 
      'backbone': { 
        deps: ['underscore', 'jquery'], 
        exports: 'Backbone' 
      } 
    } 
  }); 
require.config()接受一个配置对象,这个对象除了有前面说过的paths属性之外,还有一个shim属性,专门用来配置不兼容的模块。具体来说,每个模块要定义(1)exports值(输出的变量名),表明这个模块外部调用时的名称;(2)deps数组,表明该模块的依赖性。
比如,jQuery的插件可以这样定义:
复制代码 代码如下:
 
  shim: { 
    'jquery.scroll': { 
      deps: ['jquery'], 
      exports: 'jQuery.fn.scroll' 
    } 
  } 
七、require.js插件
require.js还提供一系列插件,实现一些特定的功能。
domready插件,可以让回调函数在页面DOM结构加载完成后再运行。
复制代码 代码如下:
 
  require(['domready!'], function (doc){ 
    // called once the DOM is ready 
  }); 
text和image插件,则是允许require.js加载文本和图片文件。
复制代码 代码如下:
 
  define([ 
    'text!review.txt', 
    'image!cat.jpg' 
    ], 
    function(review,cat){ 
      console.log(review); 
      document.body.appendChild(cat); 
    } 
  ); 
类似的插件还有json和mdown,用于加载json文件和markdown文件。
(完)
您可能感兴趣的文章:
