2012-09-18 51 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一起使用,以使您的模板自動解析。

它還支持重新使用您的部分客戶端。