2013-04-10 78 views
1

我打算開始使用Node.js進行開發,我決定使用一堆MongoDB和Express.js,並使用Ember.js。當談到爲我的觀點選擇模板時,我發現了兩種可能的解決方案,即Jade和Handlebars。應該在Node.js中使用什麼樣的客戶端模板?

我的問題是,經過一堆搜索後,我發現Handlebars經常被提及爲Ember.js的事實上的模板,而Jade被提及爲Node的事實上的模板。

我聽到有人說如果我不使用帶Ember的把手,我會失去Ember提供的很多好處。

另一方面,我聽到了與Node.js和Jade相同的類比,而且我也對Jade更像Haml類語法。

我應該選擇哪兩種?如果我選擇一個,我真的失去了功能嗎?我覺得我必須。

+0

我建議你先試試,看看你得到你想要 – Joseph 2013-04-10 11:50:05

+0

我讀了很多有關這兩個把手和玉,但我怕我不明白是什麼人通過意思「你可能會失去一些Node.js/Ember.js通過不使用Jade/Handlebars提供的優點」。 – zcserei 2013-04-10 11:56:46

+2

使用像Ember這樣的框架的好處在於,您只需將JSON數據發送到瀏覽器(您必須首先將模板發送到瀏覽器,但模板和JSON數據少於原始HTML)。 JSON數據將有助於減少正常Web開發中的開銷。如果你使用Jade,你將會發送HTML代替。 – Kalpers 2013-04-10 12:35:30

回答

-1

在我看來,毫無疑問,你會想要爲你的Ember模板使用把手。其中一個最大的特點是數據綁定以及它如何與車把一起工作。如果你100%想要管理在應用程序中的數據發生變化時手動更新所有東西,那麼你可以使用你想要的任何模板引擎。但在這種情況下,我甚至不確定你想使用Ember。

在典型的用例中,您只會從nodejs服務器返回JSON,並且不需要使用模板引擎來處理返回的JSON。

我所做的只是爲Ember應用程序創建了一個靜態HTML頁面,並將所使用的節點作爲應用程序的api服務器部分。所有的視圖都通過Ember渲染。對節點進行調用的唯一時間是獲取用於生成視圖或用於處理對數據的持久更改的ember的數據。

下面是我傾向於處理堆棧的一個示例。這只是一個我正在玩的學習Ember的小項目的起點,可能會有所幫助。

https://github.com/fredjiles/embgo

+1

在我看來,毫無疑問,你會想要爲你的Ember模板使用把手。 - 爲什麼?這完全沒有道理。 – djechlin 2013-04-10 13:21:38

+0

爲什麼?你看過Ember文檔了嗎?其中一個最大的特點是數據綁定以及它們如何與車把配合工作。如果你100%想要管理在應用程序中的數據發生變化時手動更新所有東西,那麼你可以使用你想要的任何模板引擎。但在這種情況下,我甚至不確定你想使用Ember。 – 2013-04-10 13:38:06

+1

另外,如果您正在尋找更多'Haml'語法,也許您可​​以使用http://emblemjs.com/來編寫您的模板。 – 2013-04-10 13:43:23

相關問題