不是Jade的节点的模板引擎

翡翠确实非常整洁,但我个人不喜欢它的语法和外观。 是的,能够写:

body h1 Hello p This is b bold 

这很酷,但我更喜欢HTML / XML的外观和感觉。 它是人类和机器可读的,总的来说,我认为它更容易浏览和理解。

是否有任何模板引擎工作更像:

 <body> <h1>{title}</h1> <p>{content}</p> </body> 

使用相同的翡翠般的概念:

 res.render('index', { title:pageTitle, content:pageContent }); 

特别看起来像这样的东西可能是Node.js的胡子 。 检查演示 。

看看EJS 。 允许您使用普通的HTML并embeddedJavascript代码。

例如:

 <div> <% if (foo) { %> foo <% }else { %> bar <% } %> </div> 

此外,你要找的是一个“快速兼容”的模板引擎,而EJS是Express兼容的。 这是由Express后面的主要人物之一。

你可以在Jade中使用直接的HTML,试试这个:

 <body> <h1>#{title}</h1> <p>#{content}</p> </body> 

考虑jQuery模板 。 您可以使用JSON提供数据并将其应用于模板。

如果您已经在使用underscore.js

 var compiled = _.template("hello: <%= name %>"); compiled({name : 'moe'}); => "hello: moe" 

模板可以只是一个口味的问题。 我也不喜欢Jade,喜欢HTML是一个更好的select。 大多数情况下,网页devise布局不能轻易转换为这些模板。

样品提供了胡须:

 <h1>{{header}}</h1> {{#bug}} {{/bug}} {{#items}} {{#first}} <li><strong>{{name}}</strong></li> {{/first}} {{#link}} <li><a href="{{url}}">{{name}}</a></li> {{/link}} {{/items}} {{#empty}} <p>The list is empty.</p> {{/empty}} 

它可以混合使用Angular.js语法…可能是使用它的人的问题。

我推荐一个新的模板引擎:Saker,它能够实现stream畅的编码工作stream程,与大多数模板语法不同,您不需要中断您的编码,以明确地表示HTML中的服务器块。
Github: https : //github.com/eshengsky/saker

代码如下所示:

 <body> <h1>@title</h1> <p>@content</p> </body>