Handlebars模板的文件扩展名

时间:2014-01-17 21:25:18

标签: backbone.js handlebars.js

我更改了我的手柄模板的扩展名,并在调用handlebarjs'编译函数的函数中引用了相同的内容。

它完美无缺,没有任何问题。

但我很想知道是否有其他人尝试过这个? 如果您认为这可能因任何原因导致问题,请告诉我。

出于某种原因,我觉得扩展名.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];
}

1 个答案:

答案 0 :(得分:27)

我的商店使用.handlebars,以及Require.js和Alex Sexton's require-handlebars plug-in,这一切都有效。然而,更常见的后缀,以及我刚才提到的插件中的默认后缀是.hbs(可能是因为.hbs是一个3字符的扩展名,而另一种文件类型尚未使用它。) / p>

例如,您可以使用.hbs.handlebars,甚至是不同的扩展名,它可以适用于任何类型的库(例如,需要),其中后缀实际上可以物。当然没有任何保证,但由于没有官方扩展库,作者通常比硬编码更好。

我会提醒您不要使用.htm.html来处理这些文件...除非您有一个非常挑剔的IDE。大多数IDE可以设置为将.hbs视为HTML文件,用于语法着色等等。如果您的无法,则.htm可能有意义。否则,我会保持文件扩展名不同,以便您可以轻松区分这两种类型的文件。