2012-07-05 1 views
6

Sto provando a caricare JQuery-Ui con uno spessore, ma JQueryUi continua a temporizzare quando provo a caricarlo anche quando so che il percorso è corretto.Require.js Shim per caricare l'interfaccia utente JQuery e altri pacchetti JQuery

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(); 
}); 
}); 
+0

quale browser stai usando? – theintersect

+0

Non sono sicuro se questa è ancora una domanda aperta o no non ho ancora provato nulla per verificare, ma ho notato che hai una virgola extra dopo l'array deps nello shim jQueryUI. Immagino che impedirebbe il corretto funzionamento di JavaScript. – CStroliaDavis

+0

Un'altra cosa (che non influisce sul successo del caricamento di jquery-ui), la variabile App nello scope più esterno (non la si usa lì) è jQuery. –

risposta

0

Tenta di utilizzare questo progetto https://github.com/jrburke/jqueryui-amd per tradurre il vostro jQueryUI alla versione modulare. Poi si può semplicemente utilizzare:

define(['jquery', 'jqueryui/tabs'], function($){ 
    $('#tabs').tabs();  
}); 

Con requirejs config:

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

Spero che questo aiuta.