Alte Javascript-Dateien werden in das Verzeichnis var/clientlibs kompiliert

StackOverflow https://stackoverflow.com//questions/25015501

  •  21-12-2019
  •  | 
  •  

Frage

Ich habe kürzlich einige Javascript-Dateien in einer CQ5.6-Instanz aktualisiert.Ich habe den Ordner vars/clientlibs gelöscht, damit CQ beim nächsten Laden der Seite die entsprechenden Dateien neu generiert.Als sie neu generiert wurden, war immer noch das ursprüngliche Javascript enthalten.Ich habe es noch einmal überprüft und festgestellt, dass sowohl die Erstellungs- als auch die Veröffentlichungsinstanz das neue Javascript hatten, sodass ich nicht weiß, wo es an den alten Inhalten festhält.

Wo speichert CQ also die Dateien, aus denen es seine var-Dateien generiert?

Keine korrekte Lösung

Andere Tipps

CQs-Clientbibliotheken werden von zwischengespeichert HtmlLibraryManager.Verwenden Sie jad, JDecompiler, um die Implementierung anzuzeigen.

Eine Lösung, die ich gefunden habe, besteht darin, den Knoten der Clientbibliothek umzubenennen.Wenn es also myClientLib ist, benennen Sie es einfach in myClientLib_somethingelse um, dann wird das neue js verwendet (es bereinigt den Cache von HtmlLibraryManager für die Clientlib).Danach können Sie es wieder umbenennen.

Aktualisieren:

Ich habe vergessen, eine URL zu erwähnen, unter der man die Clientlibs neu erstellen und hier auch den Cache ungültig machen kann: /libs/granite/ui/content/dumplibs.rebuild.html.Manchmal schlägt es fehl, aber vielleicht klappt es.:D

Es ist auch eine nützliche URL zum Überprüfen von Clientbibliotheken: /libs/granite/ui/content/dumplibs.html

Nach dem Löschen des /var/clientlibs-Cache möchten Sie möglicherweise auch versuchen, den neu zu starten Adobe Granite UI Commons (com.day.cq.cq-widgets) Bündel aus dem /system/console/bundles Sicht.

Dieses Paket bietet die com.day.cq.widget.impl.HtmlLibraryManagerImpl Dienst, der für das Kompilieren der Clientbibliotheken verantwortlich ist und theoretisch auch etwas In-Memory-Cache enthalten könnte.

An einem Punkt traf dies definitiv auf den JSP-Compiler zu, wo das Entfernen des Ordners /var/classes/org/apache/jsp nicht ausreichte, um eine Neukompilierung zu erzwingen, ohne auch das JSP-Scripting-Support-Bundle neu zu starten.

Dies ist ein generisches Problem, und es ist schlecht, wenn CSS / JS im Client-Browser zwischengespeichert wurde.Ich würde empfehlen, ACS-Commons, versionierte ClientLibs-Funktion in Ihrer Website zu verwenden, um Versionsnummer in CSS / JS-Dateien hinzuzufügen.Bitte beachten Sie: http:// adobe-consulting-Services.github.io/acs-aem-commons/features/versioned-clientlibs.html

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top