Handlebars template的文件扩展名

esh*_*col 20 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];
}
Run Code Online (Sandbox Code Playgroud)

mac*_*ost 29

我的商店使用.handlebars了Require.js和Alex Sexton的require-handlebars插件,这一切都没有问题.然而,更常见的后缀,以及我刚刚提到的插件中的默认后缀.hbs(大概是因为.hbs是另一种文件类型尚未采用的3字符扩展名).

例如.hbs,你可以使用,.handlebars甚至是不同的扩展,它应该适用于任何类型的库(例如,Require),后缀实际上可能很重要.当然没有任何保证,但由于没有官方扩展库,作者通常比硬编码更好.

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

  • 我会推荐`.html.hbs`,并配置编辑器/IDE 将`.html.hbs` 视为HTML,`.json.hbs` 作为JSON,`.xml.hbs` 作为XML,等等。 (3认同)