我一直在寻找过去一天的javascript模板框架,但除非我错过了一些东西,否则我似乎无法找到具有我需要的功能的单个框架。
我需要的是twig所谓的“嵌入”。基本上它就像常规模板include(接受变量并返回一个hb 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>
嵌入其他模板的模板使用(twig语法):
{% 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根本不是一个选项:)