asp.net-mvc-4 – ASP.NET MVC 4应用程序捆绑和分类,为什么在调试模式下启用小数化?

前端之家收集整理的这篇文章主要介绍了asp.net-mvc-4 – ASP.NET MVC 4应用程序捆绑和分类,为什么在调试模式下启用小数化?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我刚刚将ASP.NET MVC 3项目迁移到MVC 4 / .NET 4.0,并安装了NuGet软件包Microsoft.AspNet.Web.Optimization,以支持CSS和JavaScript的捆绑和分类。我几乎完成了捆绑/分解工作,问题始终是启用的。即使应用程序处于调试模式,如在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没有在该项目的调试模式下缩小。

编辑:

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

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

感谢郝,我意识到我忘了使用“〜/”来配置包名称

解决方法

红色标记是HTML中呈现的链接/脚本标签

如果您使用Script / Style.Render,那么它们应该包含一个版本的哈希码,即

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

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

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

在调试模式下,您不应该获取指向包的链接/脚本标签(这将始终是细化/捆绑的)。相反,您应该在调试模式下获取每个资源的脚本/链接标签

猜你在找的asp.Net相关文章