2012-01-10 80 views
25

我正在學習backbone.js爲我正在處理的Rails 3應用程序。骨幹使用underscore,我相信它有自己的模板引擎內置。Backbone.js使用小鬍子有什麼優點/缺點?

我讀過關於小鬍子的好東西,但想知道如果我應該考慮使用它而不是內置的模板引擎的下劃線?

你的想法是什麼?

感謝

回答

32

我正在通過我的第一個企業級骨幹應用程序的一半左右。我目前使用內置模板的下劃線,因爲當我開始學習的時候,我的方式是用下劃線..我不一定對他們有任何問題。所有的模板解決方案都非常簡單。

我已經看了一些其他解決方案,並且正在考慮切換,但僅僅是因爲我認爲其他一些解決方案看起來更乾淨。還有一些解決方案有更多的功能。

我喜歡小鬍子,因爲它的語法較短。看起來更乾淨。但是,如果我切換,我想我會用Handlebars.js去。

Handlebars具有相同的簡短語法,加上大量其他功能,如自定義幫助器方法和設置模板內的對象上下文。檢查出來here。如果我在項目開始時就已經瞭解把手,我可能肯定會跳上它。

我不會擔心如其他人提到的那樣添加其他依賴項。無論如何,完成正確的骨幹應用程序將快速運行。 :D

如果您有任何其他問題,請告訴我。我一直非常享受中堅力量,因此我正在嘗試觀看標記的帖子。不過實話說。把手看起來合法。

編輯:

我也是爲了補充的是,車把的文檔看起來方式比下劃線更合法的......

+1

對文檔的評論+1,強調文檔比許多其他引擎更糟糕。 – Sander 2012-01-10 17:24:42

+3

提及''Handlebars.js'。我一定會檢查出來的!順便說一下,有沒有其他的編碼器想要現在生長車把鬍子? – cbmeeks 2012-01-10 20:42:09

+0

再次感謝。你不僅得到了很好的答案,而且還指出了我從未聽說過的另一種選擇。 – cbmeeks 2012-01-11 17:42:31

18

我能想到的最大的con是,您要添加另一個庫做一些你的依賴已經這樣做了。如果語法是你最關心的問題,下面的代碼片段會告訴下劃線使用類似的語法。

_.templateSettings = { 
    evaluate : /\{\[([\s\S]+?)\]\}/g, 
    interpolate : /\{\{([\s\S]+?)\}\}/g 
}; 
+0

這兩個引擎之間沒有其他大的區別嗎?像結構明智或甚至功能像1只能做文本中的變量,而其他支持循環或嵌套模板或任何東西? – Sander 2012-01-10 16:57:53

+3

我知道的主要區別在於,Mustache使用獨立於語言的語法,並具有多種語言的實現,因此您可以在前端和後端使用模板。 – JaredMcAteer 2012-01-10 17:01:23

+2

另一個區別是鬍鬚是無邏輯的,它需要一個人更嚴格地分離表示和代碼。 – wprl 2012-09-20 19:19:57

3

問題問Rails的,但不標記左右;所以con與使用像django模板的類鬍鬚語法的語言衝突。

如果一個django模板首先解析一個塊,它會在寫入JS之前嘗試填充{{ }}塊。

我使用的忽略{{}}verbatim Django的模板標籤來解決這個問題,但我現在希望我使用的是默認<%=%>語法,這樣我就不必明確逃避這些塊寫在Django的模板引擎。

相關問題