要するに、私が必要とするもの - プログラムで (CLI ではなく) ハンドルバー テンプレートをブラウザー側の関数にプリコンパイルし、ブラウザーで次のhandlebars.runtime.js
ように使用します。
html = template_as_fn(data_object);
必要な理由 - 私は YA ComonJS を使ってブラウザー パッカー ツール、クリンチに取り組んでおり、 Handlebars もサポートしたいと考えています。
eval()
だから、Handlebarsテンプレートをプリコンパイルして、他のブードゥー魔法なしで機能する正しい方法を探しています。
この回答のようなもの
var data = { name: "Greg" };
var source = "<p>Howdy, {{ name }}</p>";
eval("var templateFunction = " + Handlebars.precompile(source));
var template = Handlebars.template(templateFunction);
template(data);
=> "<p>Howdy, Greg</p>"
悲しくさせる。
たとえば、ジェイドでは、この方法でファイル プロセッサを使用できます
'.jade' : (data, filename, cb) ->
content = Jade.compile data, _.assign jade_settings, {filename}
cb null, "module.exports = #{content}"
ハンドルバーでジェイドのようなことをすることは可能ですか?