【问题标题】:aspmvc - Script bundle on debug how to force reloadasp mvc - 调试脚本包如何强制重新加载
【发布时间】:2017-08-13 21:17:00
【问题描述】:

我有一个ASP.NET MVC5 应用程序,并且我有以下捆绑包:

bundles.Add(new ScriptBundle("~/bundles/appcomponents").Include(
                       "~/Scripts/js/jquery.min.js",
                       "~/Scripts/js/bootstrap.min.js",
                       "~/Scripts/js/modernizr.min.js",
                       "~/Scripts/js/detect.js",
                       "~/Scripts/js/fastclick.js",
                       "~/Scripts/js/jquery.slimscroll.js",
                       "~/Scripts/js/jquery.blockUI.js",
                       "~/Scripts/js/waves.js",
                       "~/Scripts/js/wow.min.js",
                       "~/Scripts/js/jquery.nicescroll.js",
                       "~/Scripts/js/jquery.scrollTo.min.js"));

当我处于DEBUG 模式时,我希望浏览器重新加载脚本,实际上我不知道这是否已经发生。如果我设置:

BundleTable.EnableOptimizations = true;

然后它起作用了,因为我只得到一个动态引用,但是在开发中(DEGUB)我没有得到动态参数:

我试图做这样的事情,但它没有工作:

有什么线索吗?或者默认情况下,当你有 bundle 时,不管你是否处于 DEBUG 模式,你总是会得到最新的脚本?

【问题讨论】:

    标签: asp.net-mvc asp.net-mvc-5 bundling-and-minification


    【解决方案1】:

    据我了解,您希望在开发时始终获得最新的脚本(因此无需捆绑和缩小)

    当您说调试时,请确保您的 web.config 应该编译为 debug="true",如下所示:

    <system.web>
        <compilation debug="true" />
        <!-- Lines removed for clarity. -->
    </system.web>
    

    然后应该关闭捆绑和缩小

    如果您设置BundleTable.EnableOptimizations = true;,这意味着即使&lt;compilation debug="true" /&gt;,捆绑和缩小仍将起作用

    所以你的问题可能是因为你设置了BundleTable.EnableOptimizations = true;,这意味着即使在调试中你也一直激活捆绑和缩小,因此可能没有得到最新的脚本

    如果捆绑和缩小功能已关闭,但您仍然看不到最新的脚本,可能是浏览器正在缓存它,请尝试在 chrome 中加载它incognito mode

    更多关于控制捆绑和缩小的信息,查看官方文档:https://docs.microsoft.com/en-us/aspnet/mvc/overview/performance/bundling-and-minification#controlling-bundling-and-minification

    【讨论】:

    • 就我而言,这是 Chrome 中的缓存问题。使用shift+F5 刷新以忽略缓存解决了该问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多