2014-01-17 76 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