aspmvc - 调试脚本包如何强制重新加载

时间:2017-08-13 21:17:01

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

我有一个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;

然后它有效,因为我只获得一个动态引用,但在Developement(DEGUB)中我没有得到动态参数:

enter image description here

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

enter image description here

  

有任何线索吗?或者默认情况下,当你有捆绑时,如果你处于DEBUG模式,你总是得到最新的脚本并不重要吗?

1 个答案:

答案 0 :(得分:1)

根据我的理解,您希望在开发过程中始终获得最新的脚本(因此不需要捆绑和缩小)

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

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

然后应该关闭捆绑和缩小

如果您设置BundleTable.EnableOptimizations = true;,则表示即使<compilation debug="true" />,捆绑和缩小仍然有效

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

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

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

相关问题