过去一天我一直在研究 javascript 模板框架,但除非我错过了什么,否则我似乎无法找到一个具有我需要的功能的框架。
我需要的是twig所谓的“嵌入”。基本上它就像一个常规的模板包含(接受变量并返回一个 html 的 blob),只有定义自定义“块”的可能性。一个块通常是为模板继承(或“扩展”)保留的,这有点限制。
到目前为止,Nunjucks 是最接近的。它具有导入、包含和扩展功能,但没有嵌入。用一个简单的例子来澄清:
模板(grid.html):
<div class="grid">
<div class="col1">
{% block col1 %}
[COL 1]
{% endblock %}
</div>
<div class="col2">
{% block col2 %}
[COL 2]
{% endblock %}
</div>
</div>
嵌入其他模板的模板用法(树枝语法):
{% embed "grid.html" %}
{% block col1 %}
[whatever goes in col1, could be other embeds here ...]
{% endblock %}
{% block col2 %}
[whatever goes in col2, could be other embeds here ...]
{% endblock %}
{% endembed %}
有人知道可以做到这一点的javascript模板框架吗?也许 Nunjucks 可以但我错过了?非常感谢您的帮助,因为我们正在做一个 node.js 项目,而 twig 根本不是一个选择:)