javascript - 脚本包中的 ASP.NET MVC {version} 通配符选择调试版本?

标签 javascript asp.net-mvc asp.net-mvc-4 knockout.js

我正在尝试使用从NuGet导入的knockout.js,其中包括knockout-3.2.0.jsknockout-3.2.0.debug.js。我添加一个新包,例如

bundles.Add(new ScriptBundle("~/bundles/knockout").Include(
    "~/Scripts/knockout-{version}.js"));

但是,当我检查网页时,发现加载的包是 knockout-3.2.0.debug.js

我阅读了以下问题

  1. what is {version} in ScriptBundle("~/scripts/jquery-{version}.js")
  2. {version} wildcard in MVC4 Bundle

这似乎对回答我的问题没有特别帮助。

最佳答案

在 Visual Studio 中,您可以有多个解决方案配置(它是 Visual Studio 主菜单下按钮变量中的下拉列表,默认情况下位于标准栏中)。默认情况下,当您创建新项目(或解决方案)时,您有 2 个可用配置:调试和发布。 (您也可以在“构建”>“配置管理器...”菜单中访问此选项)。

当您构建解决方案或项目(或发布它时)时,您必须选择其中一种配置:

  • 如果您选择“调试”,则项目将使用调试信息进行编译,以便您可以将其附加到 VS 调试器并将正在运行的代码与源文件关联起来。除此之外,还会发生一些其他事情,例如 bundler 将使用 JS 文件的调试版本,而不是生成缩小的 bundle 。这背后的想法是,如果您使用此配置,那是因为您想要调试代码。

  • 如果选择“Release”,则编译项目时不包含调试信息。并且 bundle 使用脚本的正常或缩小版本,并且每个整个 bundle 都转换为单个缩小文件

因此,您需要做的就是选择正确的配置。请考虑到这会影响 js 捆绑和程序集的创建。有时,程序集中的代码甚至可以具有更好的性能,因为发布版本将进行一些优化,这些优化不会应用于程序集的调试版本中,以允许调试它们。

关于javascript - 脚本包中的 ASP.NET MVC {version} 通配符选择调试版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27140887/

相关文章:

javascript - 谷歌地点搜索回调函数中的问题

javascript - 如何将多个经纬度值从数组传递到 bing map

javascript - 如何在 typescript 中初始化构造函数中的常量字段?

JavaScript 数学计算

c# - 如何调用global.asax中的 Controller 方法?

c# - 何时需要包含/排除 MVC 操作过滤器的基本调用?

c# - 抽象工厂和控制反转在运行时解析

jQuery 和异步调用

asp.net - 如何在 IIS 上限制/验证文件上传文件类型服务器端

c# - 在本地主机 mvc4 中发布应用程序后,是否使用弹出窗口将数据保存在数据库中?