Backbone.js 把手模板';s文件扩展名

Backbone.js 把手模板';s文件扩展名,backbone.js,handlebars.js,Backbone.js,Handlebars.js,我更改了我的handlebar模板的扩展,并在名为handlebarjs的编译函数的函数中引用了相同的扩展 它工作得非常好,没有任何问题 但我很想知道有没有其他人试过? 请让我知道,如果你认为这可能会导致问题的道路上的任何原因 出于某种原因,我觉得加长的把手有点长。我更喜欢保持它最多4个字符。。。类似于.txt或.html的内容 如果您发现此方法存在任何问题,请告诉我 例如,我将login.handlebar重命名为login.html 在getTemplate函数中(如下所示),我将调用此模板

我更改了我的handlebar模板的扩展,并在名为handlebarjs的编译函数的函数中引用了相同的扩展

它工作得非常好,没有任何问题

但我很想知道有没有其他人试过? 请让我知道,如果你认为这可能会导致问题的道路上的任何原因

出于某种原因,我觉得加长的把手有点长。我更喜欢保持它最多4个字符。。。类似于.txt或.html的内容

如果您发现此方法存在任何问题,请告诉我

例如,我将login.handlebar重命名为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];
}

我的商店使用了
.handlebar
,以及Require.js和,所有这些都可以正常工作。然而,更常见的后缀,也是我刚才提到的插件中的默认后缀,是
.hbs
(可能是因为
.hbs
是另一种文件类型尚未采用的3字符扩展名)

例如,您可以使用
.hbs
.handlebar
,或者甚至使用其他扩展名来解决这个问题,并且它应该可以与任何类型的库(例如Require)配合使用,因为后缀实际上可能很重要。当然没有保证,但是因为没有官方的扩展库,所以作者们通常比硬编码更清楚


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

一些代码可以准确地显示您如何实现把手模板,这将帮助我们确定这是否是一个好方法。我建议不要使用
.html
,因为把手模板通常不是真正有效的html,可能有人试图将扩展映射到MIME类型。我一直在使用
.hbs
。我同意mu太短,.hbs是把手模板的适当扩展之一,如下所示:谢谢。这很有帮助。顺便说一句,您提到了将.hbs的语法着色为.html。我正在使用升华文本3。您能告诉我如何对齐.hbs语法(如.html)的位置吗?这里有这样的信息(对于Sublime 2,但我想它是类似的):我建议
.html.hbs
,并配置编辑器/IDE将
.html.hbs
视为html,
.json.hbs
视为json,
.xml.hbs
视为xml,等等。