2012-02-03 97 views
7

我试图预编译一个Handlebars.js模板app/views/templates/walrus.handlebar与命令handlebar app/views/templates/walrus.handlebar,但它失败,因为模板使用我已经定义在一个单独的js文件public/javascripts/handlebar_helpers.js定制助手。如果您在Handlebars.js中预编译自定义帮助程序,您如何注册自定义帮助程序?

如何调用Handlebars的命令行版本,以便使用自定义帮助程序了解JavaScript文件?

+0

你有没有找到如何做到这一点? – emzero 2014-03-27 22:21:16

回答

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

这是在文档中的位置:http://handlebarsjs.com/precompilation.html

编辑2014年3月:

对于有阅读文档的问题的人,这里的自定义帮手 “全名”

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

为例与此帮手:

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

你仍然需要在页面中包含的助手与handlebars.runtime.js

+0

@wusher你的电话是什么样的?我不知道-k是如何与自定义助手一起使用的。 – surjikal 2012-10-25 14:42:55

+0

这不适用于定制助手 – Jaseem 2014-02-06 12:05:00

+0

我正在寻找这个答案。 '-k'只适用于本地帮助者,而不是自定义... – emzero 2014-03-27 22:20:58

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

以上步骤不是强制性的一个,你的车把模板会即使你不指定助手名工作期间预编译,但是下面的代码(这基本上应该包含所有的佣工)需要在客户端

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

我已经试过了这个插入的,它就像一个魅力!

相关问题