1

我有一个使用 angular-kendo 指令附加组件在 Visual Studio 中构建的 Angular 项目,它工作正常,直到我在 bundle.config 文件中启用优化然后它抛出这些错误:控制台截图

我只是好奇是否有人有这方面的经验或什么?我怀疑 angular-kendo.js 文件只是没有使用数组设置,所以当它被捆绑时,参数名称会缩短,这会破坏一切,但有人知道如何修复它吗?提前致谢。

4

2 回答 2

2

我对Kendo不熟悉,但我猜这是一个ASP.NET MVC网站,而Kendo正在使用其中的内置捆绑优化。这个优化器出现的很多问题要么与不正确的文件路径、包含顺序和/或基于文件名的排除文件有关。

检查网络控制台是否有任何404以检测不正确的路径请求。

您可以像这样强制执行正确的排序

如果(调试)Kendo javascript 文件确实没有正确排列依赖注入将失败。我猜 Kendo 已经带有一个预先缩小的版本,叫做kendo-blabla.min.js。按照文件名约定,包优化器应该包含这个文件,而不是自己缩小调试版本,但我有一些项目失败了。解决此问题的最简单方法是直接在捆绑包中包含预压缩版本而不是调试版本:

var kendoJs = BundleTable.EnableOptimizations ? "~/path-to/kendo.js" : "~/path-to/kendo.min.js";
于 2014-01-13T07:10:06.170 回答
2

我想说感谢上面的 null,他的回答是最好的,我提供的信息很少。事实证明,我的主要剑道捆绑包破坏了一切,由于某种原因,当它试图缩小 kendo.all.js 或 kendo.all.min.js 文件时,它破坏了它。我通过使用该文件的已缩小版本并且仅捆绑而不缩小此特定捆绑包来解决此问题。这是通过简单地创建一个新的“Bundle”而不是“ScriptBundle”来完成的,如下所示:

  bundles.Add(new Bundle("~/bundles/kendo").Include("~/Scripts/kendo.all.min.js", "~/Scripts/kendo.aspnetmvc.min.js")); 

对比

  bundles.Add(new ScriptBundle("~/bundles/kendo").Include("~/Scripts/kendo.all.js", "~/Scripts/kendo.aspnetmvc.js")); 

再次感谢空!

于 2014-01-13T17:09:27.043 回答