ハンドルバーテンプレートの拡張子を変更し、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];
}
私のショップは.handlebars
をRequire.jsおよび Alex Sextonのrequire-handlebarsプラグイン とともに使用しており、すべて問題なく動作します。ただし、はるかに一般的なサフィックス、および前述のプラグインのデフォルトのサフィックスは.hbs
です(おそらく.hbs
は3文字の拡張子であり、他のファイルタイプではまだ使用されていません)。
たとえば、.hbs
、.handlebars
、さらには別の拡張子を使用することもできます。これは、接尾辞が実際に関係する可能性があるあらゆる種類のライブラリ(たとえば、必須)で問題なく機能するはずです。もちろん、保証はありませんが、公式の拡張ライブラリがないため、作成者は一般に、ハードコードするよりもよく知っています。
これらのファイルに.htm
または.html
を使用しないように注意してください。ほとんどのIDEは、.hbs
をHTMLファイルであるかのように処理するように設定できます。あなたのできない場合、.htm
が意味をなす可能性があります。それ以外の場合は、ファイル拡張子を区別して、2種類のファイルを簡単に区別できるようにします。