Jinja-like JS模板语言

mik*_*725 21 javascript jquery template-engine language-comparisons jinja2

我真的很喜欢django/jinja2模板语言.它们的语法非常简单,而且功能多样.在javascript中是否有类似于语法和功能的内容,或者如果不是两者,至少在功能方面.

我查看了下划线,jquery模板和小胡子模板,但它们似乎都不是我想要的.

补充说明

我认为所有的库(我看过)胡子是最好的,但我不喜欢语法.例如这个胡子模板

{{#people}}
    {{name}}
{{/people}}
{{^people}}
    No people :(
{{/people}}
Run Code Online (Sandbox Code Playgroud)

与django的模板相比:

{% for person in people %}
    {{ person.name }}
{% empty %}
     No people :(
{% endfor %}`
Run Code Online (Sandbox Code Playgroud)

应用过滤器也是一样的.例如:

{{#filter}}{{value}}{{/filter}}
Run Code Online (Sandbox Code Playgroud)

VS

{{ value|filter }}
Run Code Online (Sandbox Code Playgroud)

我认为django/jinja2方法更干净,感觉更自然.

那么,是否有任何js库的模板与django/jinja非常相似?如果没有,我想我必须忍受muschache(或者其他一些好的js库 - 我愿意接受建议),但它感觉不对.

谢谢.

Jas*_*ker 15

看看Nunjucks,这是一款受Jinja2启发的JS模板引擎.它支持块继承,宏,过滤器等等,同时适用于服务器(NodeJS)和客户端(大多数浏览器).

  • 对于像我这样迟到的其他人来说,Nunjucks是这里列出的唯一一个仍然在github上活动的项目.它由Mozilla运行,所以很可能不会很快消失...... (6认同)

sst*_*tur 6

我的JavaScript Jinja实现可以在这里找到:https: //github.com/sstur/jinja

它支持Jinja和Liquid语法,在浏览器和Node中运行,将模板编译为无依赖JavaScript,并且大约3K gzip

http://sstur.com/jinja/demo/

测试包括在内.Express.js支持正在进行中..


mik*_*725 4

来自@pradeek 评论的链接。它是jinja到js的端口。

https://github.com/ericclemmons/jinja.js