2014-07-01 3 views
6

Meine Grails-Anwendung jquery-ui und Twitter Bootstrap-Plugin verwendet. Ich verwende die Standard-Struktur von application.js. Dann füge ich die folgende Zeile den jquery-ui und bootstrap.js enthält:Grails 2.4 Fügen Sie jquery-ui

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

Die bootstrap.js in ordnungsgemäß geladen, aber der Jquery-ui.js ist nicht enthalten.

+0

Und jquery propely auch geladen? Überprüfen Sie, ob Ihre Verzeichnisse die richtigen Namen haben. Sie können auch 'require_tree' anstelle von' require' versuchen. – wwarlock

+0

Wo platzieren Sie 'jquery-ui'? In der './grails-app/assets/ ...' oder in der './web-app/ ...'? – wwarlock

+0

Thx Wwarlock. Ja, die Jquery ist auch richtig geladen. Nein, ich setze die jquery-ui Dateien nicht, ich benutze das jquery-ui Plugin. Ich denke, die richtige Antwort ist, weil jquery-ui plugin 1.10.3 keine Direktive hat (Mario Davids Antwort) –

Antwort

8

Angenommen, Sie verwenden die jquery-ui grails plugin, ist es nicht enthalten, da die aktuelle Version keine Anweisung Datei unter grails-app/assets/jquery-ui hat. Stattdessen verwendet es das Verzeichnis web-app, um die Javascript-Dateien in den Unterordner jquery-ui/js zu setzen, wie Sie in der sources sehen.

Um jquery-ui zum Laufen bringen Sie die folgende Zeile in der Richtlinie Datei gesetzt haben:

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

In Bootstrap es aus der Box funktioniert, weil sie eine Richtlinie Datei unter grails-app/assets/javascript verwenden, wie Sie here sehen .

+0

Ja, ich benutze jquery-ui plugin, jquery plugin und twitter bootstrap plugin. Welches ist besser mit Direktive oder mit ? –

+0

das Hinzufügen von jquery-ui zu der Anweisungsdatei ist das bessere, weil alles über eine HTTP-Anfrage geladen wird. Dies liegt daran, dass alle Einträge in der Anweisungsdatei zu einer einzigen Datei zusammengefasst werden, die über HTML referenziert wird. Abhängig von Ihrem Anwendungsfall könnte ein anderer Ansatz darin bestehen, jquery/jquery-ui gar nicht selbst zu hosten und eine cdn die ganze Arbeit erledigen zu lassen. das macht viel Sinn, wenn Sie eine öffentliche Seite sind. Für weitere Informationen siehe hier: http://encosia.com/3-reasons-why-you-should-let-google-host-jquery-for-you/ –

+1

Arbeitete für mich mit // = erfordern js/jquery-ui -1.10.3.custom – lrkwz

0

diese Linie auch für mich gearbeitet:

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

Ich hatte die folgenden Einstellungen (für diese Versionen) zu verwenden:

Grails-app/conf/BuildConfig.groovy

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

Grails-App/Vermögenswerte/Javascripts/Foobar.js

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

Grails-app/assets/Stylesheets/foobar.css

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