2014-01-17 89 views
16

我改變了我的句柄模板的擴展名,並在調用handlebarjs的編譯函數的函數中引用了它。Handlebars模板的文件擴展名

它工作得很好,沒有問題。

但我很想知道是否有人嘗試過嗎? 如果您認爲這可能會導致任何原因導致問題,請讓我知道。

出於某種原因,我覺得擴展名.handlebars有點長。我更喜歡將它保持爲最多4個字符......類似.txt或.html。

如果您發現此方法存在任何問題,請讓我知道。

例如,我改名login.handlebars到login.html的

在是getTemplate功能(如下圖所示),我將這個模板編譯

function getTemplate(name) { 

if (Handlebars.templates === undefined || Handlebars.templates[name] === undefined) { 
    $.ajax({ 
     url : "templates/" + name + ".html", 
     success : function(data) { 
     if (Handlebars.templates === undefined) { 
      Handlebars.templates = {}; 
     } 
     Handlebars.templates[name] = Handlebars.compile(data); 
     }, 
     async : false 
    }); 
    } 
    return Handlebars.templates[name]; 
} 
+0

一些代碼顯示你如何實現句柄模板將幫助我們決定這是否是一個好的途徑。 – srquinn

+2

因爲Handlebars模板通常不是真正有效的HTML,所以有人可能會嘗試將擴展映射到MIME類型,所以我建議不要使用'.html'。我一直在使用'.hbs'。 –

+1

我同意mu太短,.hbs是句柄模板的適當擴展之一,如下所示:https://github.com/github/linguist/blob/master/lib/linguist/languages.yml – Akaryatrh

回答

26

我的店使用.handlebars,沿與Require.js和Alex Sexton's require-handlebars plug-in,這一切都沒有問題。然而,更常見的後綴以及我剛剛提到的插件中的默認後綴是.hbs(可能是因爲.hbs是另一個文件類型尚未採用的3個字符的擴展名)。

例如,您可以使用.hbs.handlebars或甚至不同的擴展名,對於任何類型的庫(例如Require),其後綴實際上可能很重要。當然沒有任何保證,但是因爲沒有官方的擴展庫,作者通常比對硬編碼更好。

對於這些文件,我會提醒不要使用.htm.html,除非你有一個非常挑剔的IDE。大多數IDE可以設置爲將.hbs視爲HTML文件,用於語法着色和不可用。如果你的不能,那麼.htm可能是有道理的。否則,我會保持文件擴展名不同,以便您可以輕鬆區分這兩種類型的文件。

+0

感謝您。這有助於。順便說一句,你提到了爲諸如.html之類的.hbs進行語法着色。我正在使用Sublime Text 3.請問我可以在哪裏獲得如何對齊.hbs語法的信息,例如.html? – eshcol

+0

有這個SO(對於Sublime 2,但我想它是相似的):http://stackoverflow.com/questions/8088475/how-to-customise-file-type-to-syntax-associations-in-sublime-2 – machineghost

+0

謝謝。這有幫助。 – eshcol