我在 MVC5 站点上使用 HandlebarsHelper 编译的模板时遇到问题。这是 BundleConfig 的代码:
bundles.Add(new Bundle("~/bundles/templates", new HandlebarsTransformer())
.IncludeDirectory("~/App/templates", "*.hbs", true));
这在本地运行良好,然后我推送到托管 QA 环境的服务器,我收到一个程序集引用错误,说 HandlebarsHelper 插件正在调用侏罗纪 2.1.0.0 并且找不到它。所以我通过 Nuget 添加了侏罗纪,从那时起模板停止工作。我从浏览器收到此错误:
Chrome:未捕获类型错误:未定义不是函数
Firefox: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
我整个早上都在网上搜索,但没有找到任何有效的答案,我尝试删除 Jurassic Nuget 包,但没有帮助。任何想法都将不胜感激,如果有任何其他信息可以帮助诊断问题,请告诉我。