简而言之,我需要 - 以编程方式(不是 CLI)将车把模板预编译为浏览器端功能,并在浏览器handlebars.runtime.js
中以这种方式使用它:
html = template_as_fn(data_object);
为什么我需要它——我在 YA ComonJS 上工作到浏览器打包工具,我也想支持 Handlebars 。
因此,我正在寻找正确的方法来预编译 Handlebars 模板以使其发挥作用,而无需eval()
其他巫术魔法。
这个答案中的事情
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,我可以通过这种方式使用文件处理器
'.jade' : (data, filename, cb) ->
content = Jade.compile data, _.assign jade_settings, {filename}
cb null, "module.exports = #{content}"
有没有可能用把手做类似 Jade 的事情?