Javascript 用于加载JQuery UI和其他JQuery包的Require.js Shim
我试图用一个垫片加载JQuery Ui,但是当我尝试加载它时,JQueryUi总是超时,即使我知道路径是正确的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',
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。