我真的很喜欢django / jinja2模板语言 . 它们的语法非常简单,而且功能多样 . 在javascript中是否有类似于语法和功能的内容,或者如果不是两者,至少在功能方面 .
我查看了下划线,jquery模板和小胡子模板,但它们似乎都不是我想要的 .
Additional notes
我认为所有的库(我看过)胡子是最好的,但我不喜欢语法 . 例如这个胡子模板
{{#people}}
{{name}}
{{/people}}
{{^people}}
No people :(
{{/people}}
与django的模板相比:
{% for person in people %}
{{ person.name }}
{% empty %}
No people :(
{% endfor %}`
应用过滤器也是一样的 . 例如:
{{#filter}}{{value}}{{/filter}}
VS
{{ value|filter }}
我认为django / jinja2方法更干净,感觉更自然 .
那么,是否有任何js库的模板与django / jinja非常相似?如果没有,我想我必须忍受muschache(或者其他一些好的js库 - 我愿意接受建议),但它感觉不对 .
谢谢 .
8 回答
看看Nunjucks,一个受Jinja2启发的JS模板引擎 . 它支持块继承,宏,过滤器等等,同时适用于服务器(NodeJS)和客户端(大多数浏览器) .
我的JavaScript Jinja实现可以在这里找到:https://github.com/sstur/jinja
它支持Jinja和Liquid语法,在浏览器和Node中运行,将模板编译为无依赖JavaScript,并且大约3K gzip
http://sstur.com/jinja/demo/
测试包括在内 . Express.js支持正在进行中..
链接@ pradeek的评论 . 它是jinja到js的一个港口 .
https://github.com/ericclemmons/jinja.js
Swig是一个非常棒的Django / Jinja模板引擎,用于node.js和浏览器 .
您可以添加自定义标记以实现各种类型的模板语法:
注意:您可以使用Django的
request.is_ajax()
有条件地发回一个未渲染的Django模板,并使用Swig用JSON对象渲染它 .Plate
twig.js看起来也很有趣,重量也比板块小https://github.com/justjohn/twig.js
这是非常新的:angularjs http://googledevelopers.blogspot.nl/2012/06/better-web-templating-with-angularjs-10.html
我已经使用了Jinja2和Python,现在我在Node.js平台上的不同项目中使用jinjs .
https://github.com/ravelsoft/node-jinjs