我有一个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);
时我收到错误。再次,这在浏览器中进行编译时非常有效,因此它不是上下文的问题。
我得到的错误是:
这是预编译和使用自定义帮助程序的正确方法吗?或者有没有办法在预编译模板中包含这些帮助程序?
答案 0 :(得分:1)
这是服务器上的把手版本。 NPM默认安装最新版本,版本2 alpha导致问题。在Github上找到此修复程序(https://github.com/wycats/handlebars.js/issues/734):
npm uninstall handlebars -g
npm install handlebars@1.3 -g
一切正常!