2013-02-25 7 views
10

Ich habe ein nerviges Problem mit meiner neuen Grails App. Ich versuche, ein Design für eine Website zu erstellen, die ich machen werde, aber wenn ich Änderungen in meinem CSS mache, wird es die laufende Anwendung nicht beeinflussen. Egal wie große Änderungen ich mache, muss ich die Anwendung stoppen und dann erneut ausführen.Grails lädt keine Änderungen in statischen Ressourcen (außer beim Neustart)

Das ist sehr frustrierend, ich habe den Cache in Chrome und selbst wenn ich zu dem bestimmten Dokument gehe, ist die Ressource immer noch die alte. Was kann ich tun, um dieses Problem zu lösen? Ich kann Änderungen in meinen gsp Dateien vornehmen und die Änderungen werden erscheinen, aber nicht in meinem CSS. Bitte fragen Sie einfach

<link rel="stylesheet" href="${resource(dir: 'css', file: 'app.css')}" type="text/css"> 

Wenn Sie mich brauchen, mehr Informationen zu liefern:

Ich bin derzeit Laden der Ressource innerhalb einer Layout-Datei wie folgt. Ich benutze grails 2.2.0.

Antwort

19

Fügen Sie diese auf Ihre Config.groovy (wahrscheinlich nur für Entwicklung)

grails.resources.debug = true 

die docs für weitere Informationen lesen.

+0

Danke dafür, ich suchte danach, konnte es aber nicht wirklich finden. Ist das etwas in der neueren Version von Grails hinzugefügt? Weil ich mich erinnere, dass ich es in 2.1 nicht hinzufügen musste. – Ms01

+0

Es gehört nicht zum Gral. Es ist Teil des Ressourcen-Plugins, das jetzt ein Standard-Grails-Plugin ist. – Gregg

+1

Großartig. Aber wie mache ich es nur auf Entwicklungsumgebung eingestellt zu sein? –

4

Es sieht so aus, als ob Greggs Antwort nicht für 1.3.7 funktioniert (vielleicht ist das etwas, das in 2.x hinzugefügt wurde?). Eine Methode, die schnelle CSS-Aktualisierungen ermöglicht, besteht darin, ein separates GSP als Vorlage in den Seitenkopf aufzunehmen.

Erstellen Sie eine Datei namens "_css.gsp" (Unterstrichpräfix ist erforderlich) im selben Verzeichnis wie Ihre Ansichtsdateien, füllen Sie sie mit Standard-CSS umgeben von HTML-Tags und fügen Sie dann Folgendes in Ihr Layout ein Kopf- oder Seite:

<g:render template="css" /> 

Mit dem im Ort, wird der Inhalt von _css.gsp in der Seite injiziert. Und ich kann Änderungen an _css.gsp vornehmen und sie werden sofort nach der Seitenaktualisierung reflektiert, ohne Grails neu starten zu müssen. Hoffe das hilft jemandem in Grails vor 2.x!

+0

auch eine Notiz aus dem Grails-Dokument, wo Sie Ihre GSP-Dateien für die Vorlage speichern können: "Beachten Sie, dass der Wert des Vorlagenattributs mit einem '/' beginnt und relativ zum Ordner views aufgelöst wird Ohne das vorangestellte "/" wird es zuerst relativ zum View-Ordner des aktuellen Controllers aufgelöst, andernfalls der View-Ordner der obersten Ebene. In jedem Fall muss die Template-Datei mit einem führenden Unterstrich ('_') benannt werden. aber im Template-Attribut ohne diesen Unterstrich oder das Suffix '.gsp' referenziert. " –

Verwandte Themen