具有捆绑和缩小功能的 ASP.NET MVC 4 应用程序,为什么在调试模式下启用缩小?

2024-01-17

我刚刚将 ASP.NET MVC 3 项目迁移到 MVC 4 / .NET 4.0,并安装了 NuGet 包Microsoft.AspNet.Web.Optimization为了支持 CSS 和 JavaScript 的捆绑和缩小。我几乎已经完成了捆绑/缩小工作,问题是它always已启用。即使应用程序处于调试模式,如 Web.config 中配置的那样,所有 JavaScript 包含内容都会被缩小。从下面的 XML 片段中可以看到,调试模式在 Web.config 中启用:

<system.web>
  <compilation debug="true" targetFramework="4.0">
    ...
  </compilation>
  ...
</system.web>

我的捆绑配置的摘录:

public class BundleConfig
{
    public static void RegisterBundles(BundleCollection bundles)
    {
        ...

        bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
                    "~/Scripts/jquery-1.*",
                    "~/Scripts/jquery.form.js",
                    "~/Scripts/jquery.format.js"));

        bundles.Add(new StyleBundle("~/Content/css").Include(
            "~/Content/Site.css"));

        ...
    }
}

CSS/JavaScript 包含在 HTML 中呈现,例如:

<link href="/content/css" rel="stylesheet" type="text/css">
<script src="/bundles/jquery" type="text/javascript"></script>

有谁知道为什么在我的情况下启用缩小功能?我对这里缺少的东西感到茫然。为了排除故障,我创建了一个测试 ASP.NET MVC 4 Internet 应用程序,并且可以验证 CSS/JavaScript 是否已执行not在该项目的调试模式下进行缩小。

EDIT:

在我的 _Layout.cshtml 文件中,我渲染样式/脚本如下:

@Styles.Render("content/css")
@Scripts.Render("bundles/jquery")

感谢Hao,我意识到我忘记在包名称前加上“~/”前缀。


危险信号是 HTML 中呈现的链接/脚本标签:

如果您使用 Script/Style.Render,则这些应该包含版本哈希码,即

< script src="/bundles/jquery?v=wvLq7H7qEZB2giyIRn7aEZAxhHOb2RfTYYh2HMd9EqM1"/>

要获得 MVC4 模板使用的调试/发布行为,您还必须使用 Script/Style.Render 方法。调用这些方法时,您必须传递虚拟包路径,在您的示例中:

@Styles.Render("~/content/css")
@Scripts.Render("~/bundles/jquery")

在调试模式下,您不应获得指向捆绑包的链接/脚本标签(该捆绑包始终会被缩小/捆绑)。相反,您应该在调试模式下获取各个资源的脚本/链接标签。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

具有捆绑和缩小功能的 ASP.NET MVC 4 应用程序,为什么在调试模式下启用缩小? 的相关文章

随机推荐

  • 对于 FragmentStatePagerAdapter 创建的 Fragment,Fragment getView() 始终返回 null

    我读了很多关于片段的文章 发现其他人在检索片段视图时遇到问题 因为总是返回 null 但没有答案解决我的问题 我想做的是创建一个图片库 我有一个包含图像视图的片段 为了显示片段 我使用 android support v4 view Vie
  • 具有多个源的 Optaplanner 影子变量

    Optaplanner 允许影子变量拥有多个源 sources 但只有一个variableListsnerClass 在我的实现中 我有一个带有影子变量的规划实体 应该能够由两个列表器更改 但这似乎不受支持 还是我错了 有没有办法让两个监听
  • Java 9中外部模块A和B将包some.package导出到模块C

    当我使用外部库运行应用程序时 我得到以下信息 Error occurred during initialization of boot layer java lang module ResolutionException Modules m
  • 在 JavaScript 中使用正则表达式删除下划线

    就像标题所说 我想用正则表达式删除字符串中的下划线 这就是我所拥有的 function palindrome str str str toLowerCase replace a zA Z g s g 0 9 g if str split r
  • 为什么java在SSL握手期间不发送客户端证书?

    我正在尝试连接到安全的网络服务 尽管我的密钥库和信任库已正确设置 但握手失败 经过几天的沮丧 无休止的谷歌搜索和询问周围的每个人 我发现唯一的问题是java选择在握手期间不将客户端证书发送到服务器 具体来说 服务器请求客户端证书 CN Ro
  • Gmail API 配额单位费用

    我们正在构建一项利用 Gmail API 的服务 为了了解我们在扩展过程中的成本 我想知道使用 Gmail API 的成本是多少 我已按照以下说明进行操作https developers google com gmail api v1 re
  • 从 Portlet 中删除自定义权限/操作

    我已经能够根据 Liferay Plugins SDK 中的示例定义自定义 portlet 操作 权限 https github com liferay liferay plugins tree master portlets sample
  • 如何在 Ubuntu 14.04 中使用 systemctl

    我尝试在 Ubuntu 14 04 中执行以下命令 systemctl enable now docker cleanup dangling images timer 我也用 sudo 尝试过 我尝试用 service 和 systemd
  • 按最后一个数组条目字段值过滤结果

    具有此文档结构 为了简洁省略不相关的字段 id 0 partn date ISODate 2015 07 28T00 59 14 963Z is partner true date ISODate 2015 07 28T01 00 32 7
  • Javascript,写入txt文件另存为UNICODE

    我有2根弦 希望首先创建一个 txt 文件 然后将字符串保存为 unicode function WriteFile file str str2 var tmp real url replace 20 g var WshNetwork ne
  • 根据 java.io/java.nio 进行阻塞

    我刚刚读 使用流的类位于两个包中 java io 和 java nio 以前实现的类 输入 输出 I O 阻塞 当字节被读 写时 进程中 它们对于其他执行线程变得不可用 这 后一个包提供非阻塞 I O 并提高了性能 并且想更多地了解这一点
  • Automapper 可以忽略 void 方法吗?

    我是 Automapper 的新手 所以我不确定这是否可行 我想映射一个类 但让它忽略无效的方法 下面是我的代码的说明 当我运行这个时 我收到以下异常消息 AutoMapper AutoMapperMappingException 类型的未
  • 如何将 JavaScript 函数传递给 Silverlight?

    我正在评估 JavaScript Silverlight 互操作功能 并且已经能够使用 JavaScript 创建 Silverlight 实例并调用其方法 但是 我现在需要一种将 JavaScript 回调函数传递给 Silverligh
  • iPhone OS 中的核心动画中的“图像错位”是什么?

    Instruments 表示存在由核心动画制作的 未对齐的图像 这意味着什么 更新 我在 Instruments app gt 核心动画中看到了这一点 我希望了解有关您在哪里看到此内容的更多信息 但我怀疑它指的是未像素对齐的图像 Quart
  • UDP 服务与亚马逊网络服务

    再会 我在一个硬件项目的基于云的系统中经常使用 AWS 使用 SimpleDB 和提供的通知服务很棒 然而 我需要 AWS 上的一个后端来监听传入的请求 处理请求并将其发送回特定地址 某种 UDP 服务 我可以轻松地为其编写一个 C C 应
  • Linq GroupBy 将每个空值作为一个组

    我有一个具有可为 null int 属性 GroupId 的对象 有了这个对象的列表 我想对此 GroupId 执行 GroupBy 操作 但如果我这样做 所有空值将形成一个组 例子 对象 1 GroupId NULL 对象 2 Group
  • 拉取镜像时设备上没有剩余空间

    在 Windows 10 Build 14393 下使用 Docker 1 13 0 9795 当我尝试运行最新的 python 映像 即 3 6 时 出现 设备上没有剩余空间 的情况 gt docker run it python Una
  • 根据 Java 日期在 Postgres 中保存时间戳

    我有一个 Postgres 数据库 其中有一个包含时间戳的表 timeOfProcessing TIMESTAMP 我有一个 Java 日期时间值 java util Date dateTime 并希望将其值存储在该时间戳字段中 没有时区
  • 设置响应 ContentType 的中间件

    在我们基于 ASP NET Core 的 Web 应用程序中 我们需要以下内容 某些请求的文件类型应获得自定义 ContentType 作为响应 例如 map应该映射到application json 在 完整 的 ASP NET 4 x
  • 具有捆绑和缩小功能的 ASP.NET MVC 4 应用程序,为什么在调试模式下启用缩小?

    我刚刚将 ASP NET MVC 3 项目迁移到 MVC 4 NET 4 0 并安装了 NuGet 包Microsoft AspNet Web Optimization为了支持 CSS 和 JavaScript 的捆绑和缩小 我几乎已经完成