Asp.net 未包含在@scripts.Render中时,在调试模式下缩小脚本
在ASP.NET网站上,我们将BundleConfig.cs设置为在发布模式下缩小和连接脚本,但在调试模式下不缩小和连接脚本 在调试模式下,我有以下设置 在web.config文件中。 然后在Proj/App_Start/BundleConfig.cs中 最后一行是Asp.net 未包含在@scripts.Render中时,在调试模式下缩小脚本,asp.net,asp.net-mvc,debugging,razor,bundling-and-minification,Asp.net,Asp.net Mvc,Debugging,Razor,Bundling And Minification,在ASP.NET网站上,我们将BundleConfig.cs设置为在发布模式下缩小和连接脚本,但在调试模式下不缩小和连接脚本 在调试模式下,我有以下设置 在web.config文件中。 然后在Proj/App_Start/BundleConfig.cs中 最后一行是 #if DEBUG BundleTable.EnableOptimizations = false; #else BundleTable.EnableOptimizations = true; #endif 在调
#if DEBUG
BundleTable.EnableOptimizations = false;
#else
BundleTable.EnableOptimizations = true;
#endif
在调试模式下,脚本是未统一的,因此我们可以调试它们,但只有在
在.cshtml页面中使用@Scripts.Render
然而,在web应用程序的某些特定部分中,我们动态加载脚本以实现小部分功能
我们使用jQuery.getScript调用包的名称
由于某些原因,该脚本仍然是缩小的,并且所有的调试器都是;断点被剥离出来。为什么会这样
解决这个问题的唯一方法是执行以下操作
#if DEBUG
// Iterate over each bundle () *not needed if compilation debug="true"
foreach (var bundle in bundles)
{
// And strip out any transformations (minify)
bundle.Transforms.Clear();
}
#endif
这似乎是不必要的,我不知道为什么没有它就不能工作。这不与浏览器缓存有关吗?您是否检查过浏览器调试控制台,请求结果是否真的来自服务器?
@Scripts.Render
(我认为)只生成适当的HTML,因此如果jQuery从脚本标记获取它们或浏览器,应该没有什么区别。检查浏览器调试控制台中的请求日志(例如在Chrome中),在那里您可以看到浏览器通过脚本标记加载请求日志和jQuery获取请求日志时的区别。