使用自定义帮助程序预编译车把模板

时间:2014-03-27 22:10:44

标签: javascript handlebars.js helpers precompiled-templates

我有一个message.handlebars模板,在浏览器中进行编译时效果很好。

我成功地用handlebars -message.handlebars -f -message.js预编译了它。

然后在我的ASP.NET MVC站点中,我将引用添加为:

<script src="~/Scripts/handlebars.runtime-v1.3.0.js"></script>
<script src="~/Scripts/handlebars-helpers.js"></script>
<script src="~/Scripts/templates/message.js"></script>

handlebars-helpers.js包含消息模板使用的一些自定义帮助程序。

我从这个家伙的comment采取了这种方法,但它没有用。在执行var html = Handlebars.templates.message(data);时我收到错误。再次,这在浏览器中进行编译时非常有效,因此它不是上下文的问题。

我得到的错误是: enter image description here

这是预编译和使用自定义帮助程序的正确方法吗?或者有没有办法在预编译模板中包含这些帮助程序?

1 个答案:

答案 0 :(得分:1)

这是服务器上的把手版本。 NPM默认安装最新版本,版本2 alpha导致问题。在Github上找到此修复程序(https://github.com/wycats/handlebars.js/issues/734):

npm uninstall handlebars -g
npm install handlebars@1.3 -g

一切正常!