我在一个HandlebarsHelper站点上的MVC5编译模板上有一个问题。下面是BundleConfig的代码:
bundles.Add(new Bundle("~/bundles/templates", new HandlebarsTransformer())
.IncludeDirectory("~/App/templates", "*.hbs", true));这个程序在本地运行得很好,然后我推到了一个承载QA环境的服务器上,我收到了一个程序集引用错误,说HandlebarsHelper插件调用了侏罗纪2.1.0.0,但是没有找到它。所以我加入了侏罗纪通过Nuget,从那时起模板停止工作。我从浏览器中得到了这个错误:
Chrome:未定义的TypeError:未定义不是函数
火狐: TypeError: templateSpec.call不是一个函数
这发生在handlebars.js的以下部分:
return function(context, options) {
options = options || {};
var namespace = options.partial ? options : env,
helpers,
partials;
if (!options.partial) {
helpers = options.helpers;
partials = options.partials;
}
var result = templateSpec.call(
container,
namespace, context,
helpers,
partials,
options.data);
if (!options.partial) {
env.VM.checkRevision(container.compilerInfo);
}
return result;
};我在跑步:
Ember 1.7.0 Ember-Data 1.0.0-beta.11把杆1.3.0 JQuery 2.1.1
MVC 5 .Net 4.5.2
整个上午我都在网上搜索,还没有找到任何有效的答案,我试着删除侏罗纪Nuget包,但没有帮助。任何想法都将不胜感激,请告诉我,如果有任何其他信息,将有助于诊断的问题。
发布于 2014-11-08 16:37:50
您所处的HandlbarsHelper版本不支持该版本的Ember.js。
1.9版发生了重大变化,增加了对车把2.0版的支持。这在HandlebarsHelper v2.0+中是支持的。这意味着2.0+不能与Ember.JS < v1.9和车把< v2.0一起使用。
它最初起作用的原因可能是因为在调试中,模板通常只被注入到页面中。
简单的修复方法是使用HandlebarsHelper v1.1 (https://www.nuget.org/packages/HandlebarsHelper/1.1.0)
发布于 2014-12-11 15:58:33
问题是,我使用的是一个版本的扶手,它只支持工具栏2.x。在Nuget中找到问题,并将其更改为不同的版本,现在一切都正常了。谢谢你的评论。
https://stackoverflow.com/questions/26808341
复制相似问题