クライアントライブラリリソースのHTL コンパイルエラーにより、AEM Cloud Managerのデプロイメントが失敗する
✨ このコンテンツはAIが生成したもので、不正確である可能性があります。 生成AI用語
この記事では、クライアントライブラリのCloud Manager リソースのJavaScript テンプレートリテラルがAEM パーサーによって誤って解釈される場合に、HTL コンピレーションエラーによって引き起こされるHTML デプロイメントエラーを解決する方法について説明します。
説明 description
環境
- Adobe Experience Manager(AEM)Cloud Manager(すべてのバージョン)
症状
Cloud Managerのビルドは、すべての環境(開発、ステージ、実稼動環境)のデプロイメントステップで失敗します。 パイプラインログには、クライアントライブラリリリソースファイル内のHTL コンパイルエラーが表示されます。 パーサーは次のようなエラーを報告します。
mismatched input '(' expecting {'}', '@'}
影響を受けるリソースには、クライアントライブラリ内のHTML ファイルが含まれ、JavaScript テンプレートリテラル式(例:${getAccessToken()})が.html ファイルに含まれています。 これらはHTL式として解釈され、デプロイメント中にパーサーエラーが発生します。
原因
.html個のクライアントライブラリリソース内のJavaScript テンプレートリテラル式(${...})がAEM パーサーによってHTL式として解釈され、HTL コンパイル手順で構文エラーが発生するため、デプロイメントが失敗します。
解決策 resolution
問題を解決するには、次の手順に従います。
- 影響を受けるクライアントライブラリのリソースファイルをコードベースで確認します(例:
/apps/.../clientlibs/.../resources/内のHTML ファイル)。 - これらの
.htmlファイル内の${...}構文を使用して、JavaScript テンプレートリテラル式を確認します。 - これらのエクスプレッションがJavaScriptとして意図されている場合は、AEM パーサーによってHTL エクスプレッションとして解釈されないようにしてください。
- テンプレートリテラルを含むJavaScript コードを、
.html個のリソースに直接埋め込む代わりに、.js個のファイルに移動します。 または、HTL解析の競合を避けるために、${...}構文をエスケープまたはリファクタリングします。 - Cloud Manager パイプラインを再実行して、HTL コンパイルエラーが解決されていることを確認します。
recommendation-more-help
experience-cloud-kcs-help-kbarticles