Die AEM Cloud Manager-Bereitstellung schlägt aufgrund von HTL-Kompilierungsfehlern in den Client-Bibliotheksressourcen fehl
✨ Dieser Inhalt wird von KI generiert und könnte ungenau sein. Generative KI-Begriffe
In diesem Artikel wird erläutert, wie Cloud Manager-Bereitstellungsfehler behoben werden, die durch HTL-Kompilierungsfehler verursacht wurden, wenn JavaScript-Vorlagenliterale in HTML-Ressourcen der Client-Bibliothek vom AEM-Parser falsch interpretiert werden.
Beschreibung description
Umgebung
- Adobe Experience Manager (AEM) Cloud Manager (alle Versionen)
Symptome
Cloud Manager-Builds schlagen beim Bereitstellungsschritt in allen Umgebungen (Entwicklung, Staging und Produktion) fehl. Pipeline-Protokolle zeigen HTL-Kompilierungsfehler in Ressourcendateien der Client-Bibliothek an. Der Parser meldet Fehler wie:
mismatched input '(' expecting {'}', '@'}
Betroffene Ressourcen umfassen HTML-Dateien innerhalb von Client-Bibliotheken, die JavaScript-Vorlagenliterale Ausdrücke (z. B. ${getAccessToken()}) in .html enthalten. Diese werden als HTL-Ausdrücke interpretiert, was Parser-Fehler während der Bereitstellung verursacht.
Ursache
Die Bereitstellung schlägt fehl, weil JavaScript-Vorlagenliteralausdrücke (${...}) in .html Client-Bibliotheksressourcen vom AEM-Parser als HTL-Ausdrücke interpretiert werden, was zu Syntaxfehlern während des HTL-Kompilierungsschritts führt.
Lösung resolution
Gehen Sie wie folgt vor, um das Problem zu beheben.
- Überprüfen Sie die betroffenen Ressourcendateien der Client-Bibliothek in Ihrer Codebasis (z. B. HTML-Dateien in
/apps/.../clientlibs/.../resources/). - Suchen Sie mithilfe der
${...}-Syntax in diesen.htmlnach Ausdrücken für JavaScript-Vorlagenliterale. - Wenn diese Ausdrücke als JavaScript vorgesehen sind, stellen Sie sicher, dass sie vom AEM-Parser nicht als HTL-Ausdrücke interpretiert werden.
- Verschieben Sie JavaScript-Code, der Vorlagenliterale enthält, in
.jsDateien, anstatt sie direkt in.htmlRessourcen einzubetten. Alternativ können Sie die${...}-Syntax umgestalten oder mit Escape-Zeichen versehen, um HTL-Parsing-Konflikte zu vermeiden. - Führen Sie die Cloud Manager-Pipeline erneut aus, um zu überprüfen, ob die HTL-Kompilierungsfehler behoben wurden.