2014-07-01 14 views
6

L'applicazione Grails utilizza il plug-in bootstrap jquery-ui e twitter. Io uso la struttura predefinita application.js. Poi aggiungo la seguente riga per includere il jquery-ui e bootstrap.js:Grails 2.4 Include jquery-ui

... 
//= require jquery 
//= require jquery-ui 
//= require bootstrap 
... 

I bootstrap.js in caricati correttamente, ma il jquery-ui.js non è incluso.

+0

e jQuery caricati propely troppo? Verificare che le directory abbiano i nomi corretti. Puoi anche provare 'require_tree' invece di' require' – wwarlock

+0

Dove hai posto 'jquery-ui'? In "./grails-app/assets/..." o in "./web-app/..."? – wwarlock

+0

Thx wwarlock. Sì, anche il jQuery è stato caricato correttamente. No non metto i file jquery-ui, io uso il plugin jquery-ui. Penso che la risposta corretta sia perché il plugin jQuery-ui 1.10.3 non ha una direttiva (risposta di Mario David) –

risposta

8

Supponendo che si stia utilizzando il jquery-ui grails plugin, non è incluso, perché la versione corrente non ha file di direttive sotto grails-app/assets/jquery-ui. Invece usa la directory web-app, per mettere i file javascript nella sottocartella jquery-ui/js come si vede nel sources.

Al fine di ottenere jquery-ui si lavora bisogna mettere la seguente riga nel file direttiva:

//= require jquery 
//= require jquery-ui/js/jquery-ui-1.10.3.custom.min 
//= require bootstrap 

In bootstrap funziona out of the box, perché usano un file di direttiva in grails-app/assets/javascript come vedete here .

+0

Sì, io uso il plugin jquery-ui, il plugin jquery e il plugin di bootstrap di twitter. Quindi quale è meglio usare direttiva o usando ? –

+0

aggiungendo jquery-ui al file direttivo è il migliore, perché tutto viene caricato tramite una richiesta http. Questo perché tutte le voci nel file direttivo verranno combinate in un solo file, a cui viene fatto riferimento tramite html. A seconda del tuo caso d'uso, un altro approccio potrebbe essere quello di non ospitare jquery/jquery-ui da solo, e lasciare che un cdn faccia tutto il lavoro. questo rende molto senzioso, se sei un pubblico. Per ulteriori informazioni vedere qui: http://encosia.com/3-reasons-why-you-should-let-google-host-jquery-for-you/ –

+1

Ha funzionato per me con // = richiede js/jquery-ui -1.10.3.custom – lrkwz

0

questa linea ha funzionato anche per me:

//= require jquery-ui/js/jquery-ui-1.10.3.custom.min 
11

ho dovuto usare le seguenti impostazioni (per queste versioni):

graal-app/conf/BuildConfig.groovy

compile ":asset-pipeline:1.9.9" 
runtime ":jquery:1.11.1" 
runtime ":jquery-ui:1.10.3" 

grails-app/assets/javascripts/foobar.js

//= require jquery 
//= require js/jquery-ui-1.10.3.custom 

graal-app/attività/fogli di stile/foobar.css

/* 
*= require themes/ui-lightness/jquery-ui-1.10.3.custom 
*/