我最近一直想知道是否有可能使用与 Twig 具有“相同”语法的模板系统进行客户端模板,以及它与 Twig 的集成。找到Swig,这似乎是“JavaScript 的 Twig”。
使用相同的语法可能有几个好处:
- 无需学习另一种语法,
- 可移植模板:同一块可用于前端和/或后端模板,具体取决于架构。
- 你给它命名...
但是,会出现一些挑战:
- 我需要一种机制来定义模板中的哪些标签/块/部分专用于前端解析。标签可以完成工作,
{% raw %}
但是... - 针对可移植模板将代表非常精细的块以及“包含为原始”的可能性。例如:我想在
<head>
我的主 HTML 文件中收集我希望前端模板引擎可用的所有块,每个块都包含在一个<script>
标签中。所以我需要“原始包含”这些块。
是否有人将 Twig 与 Swig 或任何其他 javascript 模板系统结合使用,其语法与 Twig 的语法有些冲突?您将如何管理/组织您的模板,以便您也可以/仅在前端轻松使用模板?