【问题标题】:ASP.NET MVC4 web optimizations doesnt minify or add cache buster on vanilla internet applicationASP.NET MVC4 Web 优化不会缩小或在 vanilla Internet 应用程序上添加缓存破坏器
【发布时间】:2013-06-04 08:25:02
【问题描述】:

我正在考虑使用网络优化来缩小和捆绑 js 和 css,因此我在 Visual Studio 中启动了一个新的 vanilla mvc4 互联网应用程序,设置 RELEASE 模式并按 F5。

它的行为似乎不像我预期的那样。当我查看源代码时,我看到了。

    <link href="/Content/site.css" rel="stylesheet"/>
    <script src="/Scripts/modernizr-2.6.2.js"></script>

我期待看到缓存破坏器 ?v=kjzshd3289sjhdf98je3l。

脚本和 css 也没有缩小。

【问题讨论】:

    标签: javascript css minify system.web.optimization


    【解决方案1】:

    在 Global.asax 中的 Application_Start() 中尝试以下代码:

    #if DEBUG
                BundleTable.EnableOptimizations = false;
    #else
                BundleTable.EnableOptimizations = true;
    #endif
    

    【讨论】:

    • 感谢您的回答。当然,这行得通,但我的印象是这是由构建配置处理的。当我查看源代码时,我现在看到了缓存破坏器,但查看源代码并没有缩小。 localhost:49941/Content/…
    • EnableOptimizations 覆盖 Web.config 中的编译元素,因此它可能无论如何都设置为“调试”。您如何将文件添加到捆绑包中? .js 文件是否也保持不变?
    • js 是这样包含的:@Scripts.Render("~/bundles/modernizr") 并且是缩小的 css 呈现如下:@Styles.Render("~/Content/css") 和没有缩小
    • 这就是它们的呈现方式。我说的是new Bundle("~/somepath").Include("~/SomePath")
    • 嗯,好的。我没有更改 VS 模板中的原始代码,所以它仍然是相同的代码(我不能在这里全部粘贴) public static void RegisterBundles(BundleCollection bundles) {.... bundles.Add(new StyleBundle("~/内容/css").Include("~/Content/site.css"));......}
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多