繁体   English   中英

如果您在Handlebars.js中预编译自定义帮助程序,如何注册自定义帮助程序?

[英]How do you register a custom helper if you are precompiling a custom helper in Handlebars.js?

我试图使用命令handlebar app/views/templates/walrus.handlebar预编译Handlebars.js模板app/views/templates/walrus.handlebar ,但它失败了,因为模板使用了我在单独的js中定义的自定义助手文件public/javascripts/handlebar_helpers.js

如何调用Handlebars的命令行版本,以便它知道带有自定义帮助程序的javascript文件?

handlebars <input> -f <output> -k <helper>

这是在这里的文档: http//handlebarsjs.com/precompilation.html

编辑2014年3月:

对于阅读文档时遇到问题的人,以下是自定义助手“fullname”的示例

handlebars myTemplate.handlebars -f handlebars-fullname.js -k fullname

有了这个帮手:

Handlebars.registerHelper('fullname', function(person) {
  return person.firstName + " " + person.lastName;
});

您仍然必须使用handlebars.runtime.js在页面中包含帮助程序

handlebars myTemplate.handlebars -f handlebars-fullname.js -k fullname

上面的步骤不是强制性的 ,即使您在预编译期间未指定帮助程序名称,您的车把模板也会起作用,但是下面的代码(基本上应该包含所有帮助程序)需要在客户端插入

    Handlebars.registerHelper('fullname', function(person) {
  return person.firstName + " " + person.lastName;
});

我试过这个,它就像一个魅力!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM