【问题标题】:BundleConfig.cs won't Download Breeze.js in ASP.NET MVC AppBundleConfig.cs 不会在 ASP.NET MVC 应用程序中下载 Breeze.js
【发布时间】:2015-02-07 23:26:07
【问题描述】:

我们在我们的 BundleConfig.cs 中包含微风.debug.js 时遇到了问题。在 BundleConfig 中添加它之后,它永远不会被下载到浏览器中(在这种情况下,在浏览器开发工具的“网络”选项卡中可以看到或未看到)。而且,我们总是得到一个错误 - 未捕获的错误:无法从轻风.angular.js:90 中找到微风 - 这是在轻风.debug.js 之后立即加载到 BundleConfig 中的。

我们已经看到了这个问题:

新的 ScriptBundle .Include 不适用于微风.min.js New ScriptBundle .Include not working for breeze.min.js

但没有一个“答案”起作用。

我们已经尝试过:

  • 创建一个新的 global.asax - 不起作用
  • 确保调试和最小文件都在捆绑包中 - 不起作用

这是我们的 BundleConfig.cs:

bundles.Add(new ScriptBundle("~/bundles/thirdparty")
    .Include("~/Scripts/jquery-{version}.js")
    .Include("~/Scripts/jquery-ui-{version}.js")
    .Include("~/Scripts/angular.js")
    .Include("~/Scripts/angular-animate.js")
    .Include("~/Scripts/angular-route.js")
    .Include("~/Scripts/angular-sanitize.js")
    .Include("~/Scripts/bootstrap.js")
    // breeze.debug.js doesn't work in BundleConfig.cs!!!
    //.Include("~/Scripts/q.js") // we've tried with q.js and without q.js - neither works
    .Include("~/Scripts/breeze.debug.js")
    .Include("~/Scripts/breeze.angular.js")
    .Include("~/Scripts/toastr.js"));

底线是 BundleConfig 将所有其他脚本下载到浏览器而没有任何问题。只有轻风.debug.js 永远不会被下载。而且,顺便说一句,我们使用的是最新版本的微风(实际上是所有脚本)。

所以,帮忙?!需要做些什么才能将微风.js 添加到 BundleConfig.cs 并使其真正发挥作用?

谢谢。

【问题讨论】:

  • 捆绑器唯一不包含脚本的情况是在指定路径找不到文件时。它总是默默地失败,只是跳过脚本而不是引发异常。
  • 感谢您的信息,克里斯。但是,是的,该脚本文件肯定与所有其他 .js 文件一起位于 Scripts 文件夹中。我们已经尝试使用 NuGet 包添加微风.js,以及手动下载和添加脚本。然而,还是一无所获。奇怪的是,微风.angular.js 可以正常下载,但是微风.debug.js(或微风.min.js)不会被捆绑器识别。
  • 为了排查问题,直接在头部添加脚本引用有用吗?即,breeze.debug.js 不在包中

标签: javascript asp.net-mvc angularjs breeze


【解决方案1】:

我敢打赌,问题在于名称“breeze.debug.js”中的“debug”一词。我记得,ASP.NET 捆绑会从生产捆绑包中排除名称中包含该单词的任何文件。

这里是a StackOverflow thread on this topic

我希望我记得确切的咒语。我自己不再使用捆绑,但我让它工作了一段时间。您可能需要做一些挖掘和弄乱才能使这个恰到好处。它确实有效。

【讨论】:

  • 就像引用的线程说的那样,您应该只使用.Include("~/Scripts/breeze.js"),并且在调试模式下运行时捆绑器将自动使用breeze.debug.js
  • 谢谢沃德! (和史蒂夫)你是对的,文件名中的“调试”一词导致捆绑忽略它。我知道这一点,但是,我急于让它发挥作用,我想我只是忽略了它。射击!再次感谢。
  • 顺便说一下,Ward,您提到您不再使用 ASP.NET 捆绑,那么您使用什么来捆绑和缩小 JavaScript 资源?我们的项目目前仍然是一个 ASP.NET MVC 应用程序,并且我们使用的是 VS 2013,所以我们一直在使用它的捆绑功能。
  • 过着凉亭/节点/吞咽的生活。 John Papa 带路(观看他的 PluralSight 课程)。 FWIW,这就是 VS 的未来。我预计 ASP 捆绑将逐渐消失。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-12-21
  • 2011-03-10
  • 1970-01-01
  • 2016-03-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多