Les anciens fichiers javascript sont en cours de compilation dans le répertoire var/clientlibs

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

  •  21-12-2019
  •  | 
  •  

Question

Je viens de mettre à jour certains fichiers javascript dans une instance CQ5.6.J'ai supprimé le dossier vars/clientlibs afin que CQ puisse régénérer les fichiers appropriés lors du prochain chargement de la page.Lorsqu'il les a régénérés, il incluait toujours le javascript d'origine.J'ai vérifié deux fois et les instances de création et de publication avaient le nouveau javascript, donc je ne sais pas où il conserve les anciens éléments.

Alors, où CQ met-il en cache les fichiers à partir desquels il génère ses fichiers var ?

Pas de solution correcte

Autres conseils

Les clientlibs CQ sont mises en cache par le Gestionnaire de bibliothèque HTML.Utilisez jad, JDecompiler pour voir son implémentation.

Une solution de contournement que j'ai trouvée consiste à renommer le nœud du clientlib.Donc, s'il s'agit de myClientLib, renommez-le simplement myClientLib_somethingelse, il utilisera alors le nouveau js (il nettoie le cache de HtmlLibraryManager pour le clientlib).Après cela, vous pourrez le renommer.

Mise à jour:

J'ai oublié de mentionner une url où vous pouvez reconstruire les clientlibs et ici vous pouvez également invalider le cache : /libs/granite/ui/content/dumplibs.rebuild.html.Cela échoue parfois, mais cela fonctionnera peut-être.:D

C'est également une URL utile pour vérifier les clientlibs : /libs/granite/ui/content/dumplibs.html

Après avoir supprimé le cache /var/clientlibs, vous pouvez également essayer de redémarrer le Adobe Granite UI Commons (com.day.cq.cq-widgets) paquet du /system/console/bundles voir.

Ce paquet fournit le com.day.cq.widget.impl.HtmlLibraryManagerImpl service, qui est responsable de la compilation des clientlibs et pourrait théoriquement également contenir du cache en mémoire.

À un moment donné, cela était définitivement vrai pour le compilateur JSP, où la suppression du dossier /var/classes/org/apache/jsp n'était pas suffisante pour forcer une recompilation sans redémarrer également le bundle de prise en charge des scripts JSP.

Ceci est un problème générique, et ce sera le pire lorsque CSS / JS a été mis en cache sur le navigateur client.Je recommanderais d'utiliser ACS Commons, la fonctionnalité ClientLibs VersionedLibs sur votre site pour ajouter le numéro de version dans les fichiers CSS / JS.Veuillez vous reporter: http:// Adobe-conseil-services.github.io/acs-aem-commons/features/versioned-Clientlibs.html

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top