Javascript 用于加载JQuery UI和其他JQuery包的Require.js Shim

Javascript 用于加载JQuery UI和其他JQuery包的Require.js Shim,javascript,jquery,requirejs,Javascript,Jquery,Requirejs,我试图用一个垫片加载JQuery Ui,但是当我尝试加载它时,JQueryUi总是超时,即使我知道路径是正确的 require.config({ paths: { jQuery: 'libs/jquery-wrapper', jQueryUi: 'libs/jquery-ui-min', jQuerySelectmenu: 'libs/jquery.ui.selectmenu', Underscore: 'libs/underscore-wrapper',

我试图用一个垫片加载JQuery Ui,但是当我尝试加载它时,JQueryUi总是超时,即使我知道路径是正确的

require.config({
paths: {
    jQuery: 'libs/jquery-wrapper',
    jQueryUi: 'libs/jquery-ui-min',
    jQuerySelectmenu: 'libs/jquery.ui.selectmenu',
    Underscore: 'libs/underscore-wrapper',
    Backbone: 'libs/backbone-wrapper',
},
shim: {'Backbone': {
          //These script dependencies should be loaded before loading
          //backbone.js
          deps: ['Underscore', 'jQuery'],
          //Once loaded, use the global 'Backbone' as the
          //module value.
          exports: 'Backbone'
      },
      'jQueryUi': {
          deps: ['jQuery'],
      },
      'jQuerySelectmenu': {
          deps: ['jQuery', 'jQueryUi']
      }
  }  
});

require([
    'jQuery',
    'Underscore',
    'Backbone',  
    'jQueryUi',
    'jQuerySelectmenu'  
], 
    function(App) {
        require(['order!src/app']
     ,     function (App) {
    App.initialize();
}); 
});
尝试使用此项目将jqueryui转换为模块化版本。然后您可以简单地使用它:

define(['jquery', 'jqueryui/tabs'], function($){
    $('#tabs').tabs();    
});
使用requirejs配置:

requirejs.config({
paths: {
    'jqueryui': '/javascript-cdn/jqueryui/' //output form jqueryui-amd
}, 
shim: {
    'jquery': {
        deps: [], 
        init: function(){
            return $; 
        }
    },        
    'jqueryui': {
        deps: ['jquery'] 
    }
}
});

我希望这有帮助

我认为damee提供的是旧版的requireJs。正如我所做的那样,只需遵循本教程:

不确定这是否仍然是一个开放的问题,我还没有实际测试任何东西来验证,但我注意到,在jQueryUI垫片中的deps数组后面有一个额外的逗号。我猜这会阻止JavaScript正常运行。另一件事(这不会影响jquery ui加载的成功),最外面范围内的App变量(您在那里不使用它)是jquery。