是否可以根据应用程序的调试设置在捆绑包中添加或删除脚本?
即。给出了 -
的包定义var jQueryBundle = new ScriptBundle("~/js/main").Include(
"~/Scripts/jquery-1.{version}.js",
"~/Scripts/jquery-migrate-{version}.js",
"~/Scripts/script.js");
当站点不在调试配置文件中运行时删除jquery-migrate引用,或者相反在调试时添加它。
Nb。我实际上在制定问题的同时想出了解决方案,我已经测试了它,它似乎有效。我已经回答了这个问题,但如果有更好的解决方案,我现在就不会接受它。同时,如果有人想要使用它,答案至少现在可供参考。
答案 0 :(得分:4)
我实际上在写出问题时想出了答案。由于我无法通过搜索找到答案,所以无论如何都决定发布问题并回答它 - 所以它都可以作为参考,以便其他任何想要做同样事情的人,以及获得比我更聪明的头脑的反馈。如果这是实现这一目标的最佳方式 - 甚至是一件明智的事情。
var jQueryBundle = new ScriptBundle("~/js/main").Include(
"~/Scripts/jquery-1.{version}.js",
"~/Scripts/script.js");
if (HttpContext.Current.IsDebuggingEnabled)
{
jQueryBundle.Include("~/Scripts/jquery-migrate-{version}.js");
}
bundles.Add(jQueryBundle);
我已对此进行了测试,同时列出了调试脚本(我在调试模式下保留了捆绑和缩小的默认值),并且在正常运行时,迁移脚本的内容不在合并的缩小脚本中。在接下来的几天里,我将对此进行分析,以便与“vanilla”捆绑进行比较,以了解它对应用程序启动的性能影响(如果有)。