节点 .js 的模板引擎

Templating engine for node.js

提问人:Art 提问时间:11/2/2010 更新时间:4/3/2012 访问量:2145

问:

我正在寻找一个模板引擎,并牢记以下特定要求:

必须具备:

  • 逻辑支持(if/else/etc)
  • 包含文件/继承(即子模板/主模板)
  • 不是 HAML

合意:

  • 丰富的标签/过滤器 (a-la Django)
  • 自定义标签/过滤器
模板 节点 .js

评论

1赞 ThiefMaster 11/2/2010
为什么不在客户端进行模板化,而简单地将 json 返回给客户端呢?节省了相当多的带宽,如果你通过ajax调用加载JS模板,而不是像把它们放在标签中这样的技巧,你甚至不需要无效的HTML。<script type="text/html">
0赞 HoLyVieR 11/2/2010
你可以看看这个问题,你可能会在其中找到答案:stackoverflow.com/questions/1787716/......

答:

1赞 Art 11/2/2010 #1

看起来 simonwdjangode 是我需要的:

以下是加载它的方法:

loader.load_and_render('template.html', context, function (error, result) {
    if (error) {
        dj.default_show_500(req, res, error);
    } else {
        dj.respond(res, result, 'text/plain');
    }
});

而模板语法似乎是 Django 1.1 模板的完整移植

2赞 Tor Valamo 11/3/2010 #2

Jade 看起来将成为 Node 的“标准”模板语言/引擎。它有点像 HAML,只是它完全不是 HAML。这要好得多。

它没有主/子模板,但我已经向 TJ(作者)提到过,我可能会推动它。现在,您只需要在渲染模板时自下而上地工作(即通过变量将子模板应用于父模板),在大多数情况下,我认为这没有太大问题。

编辑:Jade 现在支持继承:https://github.com/visionmedia/jade#a11

评论

3赞 Art 11/6/2010
您能澄清一下“标准”是什么意思吗?最广泛的采用?瑞安·达尔本人的永恒祝福?
0赞 1/20/2014
看起来很糟糕,我简直不敢相信 NodeJS 有多少半成品模板引擎,它们甚至无法接近你在使用 Django 或 Rails 时得到的