2012-09-18 53 views
3

有模板的好方法(允许我写html - 不是玉),这将支持布局和部分?节点快递模板引擎,支持布局和部分

我只能使用ejs和express-partials npm插件来获得此行为。不过,我觉得这个ejs网站已经过时了,并且得不到很好的支持。

我正在寻找很好的例子。

我想要创建一个主页面,其中包含页眉+页脚,并为nav包含一个单独的模板。

Knockoutjs看起来很好支持,但我找不到很多使用Express的例子。

更新:我发现了一个很不错的文章在这里从JS模板LinkedIn的评价:http://engineering.linkedin.com/frontend/client-side-templating-throwdown-mustache-handlebars-dustjs-and-more

+1

我使用EJS没有任何问题。在我的布局中,我为header-nav,side-nav,footer分开了部分内容......非常棒! – c0deNinja

+0

谢谢。这就是我现在使用的 - 只是想看看在编码过度之前是否有更新的东西。 – chovy

回答

0

尝试twigjs。它很适合你的描述。

https://github.com/fadrizul/twigjs

但EJS别找我不支持任何。我认为这甚至是解决方案。

+0

仍然有点新,twigjs.org进入停放页面。 – chovy

+0

'Twigjs','ejs'和'jade'是nodejs最常用的三种模板引擎。所以,我认为你最好选择其中之一。 –

+0

Twigjs看起来比ejs更少维护 - 一年内没有回购更新,twigjs.org站点是404 – UpTheCreek

3

您可以使用EJS中的“包含”功能轻松模拟此操作。它不像Express 2.x中的布局那样优雅,但它适用于所有需要的头部和页脚以及不需要使用Jade的简单场景。

基本上,您可以创建两个“布局”页面(layoutTop.ejs和layoutBottom.ejs)并手动将它们包含在每个页面上。

mypage.ejs

include layoutTop 
html for my page.ejs goes here 
include layoutBottom 

(无耻的插头),你可以在这里看到更详细的解释: http://hectorcorrea.com/Blog/Using-layouts-with-EJS-in-Express-3.x

+0

您可以像使用express2.x中的partials一样将数据传递到您的包含内容吗? – chovy

+0

据我所知,页面上可用的相同数据似乎在包含中可用。 –

+0

您错过了<% %> – Boyang

0

handlebars一试。

您可以将其与hotplates一起使用,以使您的模板自动解析。

它还支持重新使用您的部分客户端。