我更改了我的手柄模板的扩展名,并在调用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];
}
答案 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
可能有意义。否则,我会保持文件扩展名不同,以便您可以轻松区分这两种类型的文件。