私は最近、クライアント側のテンプレートにTwigと「同じ」構文のテンプレートシステムを使用する可能性と、Twigとの統合について疑問に思っています。「JavaScript用のTwig」のように見えるSwigが見つかりました。
同じ構文を使用すると、いくつかの利点があります。
- さらに別の構文を学ぶ必要はありません、
- ポータブルテンプレート:アーキテクチャに応じて、フロントエンドとバックエンドの両方のテンプレートに同じブロックを使用できます。
- あなたはそれに名前を付けます...
ただし、いくつかの課題が発生します。
- テンプレート内のどのタグ/ブロック/パーツがフロントエンドの解析専用であるかを定義するメカニズムが必要になります。
{% raw %}
タグは仕事をしますが... - ポータブルテンプレートを目指すことは、非常にきめ細かいブロックと「生として含める」可能性を意味します。
<head>
例:メインのHTMLファイルに、フロントエンドテンプレートエンジンで使用できるようにしたいすべてのブロックを収集します。各ブロックは<script>
タグで囲まれています。したがって、これらのブロックを「rawインクルード」する必要があります。
TwigをSwig、またはTwigの構文と多少衝突する構文を持つ他のJavaScriptテンプレートシステムと組み合わせて使用した人はいますか?テンプレートをフロントエンドでも簡単に使用できるように、テンプレートをどのように管理/整理しますか?