3

我们使用System.Web.Optimization捆绑来捆绑和压缩我们的 JS 和 CSS。

IBundleTransform除了现有的之外,我们还使用自定义实现,JsMinifyCssMinify在将 JS 发送到浏览器之前对 JS 做一些花哨的事情(替换某些占位符)。

只要我们在发布模式下运行,一切都可以正常工作,因为然后捆绑和优化就会启动。但是在调试模式下(这对调试来说很好;)它似乎完全忽略了所有指定的IBundleTransform(在大多数情况下都是有意义的 -情况下,我猜)。

有什么方法可以始终运行我们自己的IBundleTransform,即使在调试模式下,但只有在我真的想优化(在发布模式下)时才运行其他(默认)捆绑算法( JsMinify, )?CssMinify

4

2 回答 2

2

所以调试/发布魔法是通过 Scripts/Styles 助手控制的。不应用任何转换的行为被纳入这些帮助程序的实现中,因此,如果您想这样做,最好的解决方法可能是为每个捆绑包提供一个调试/发布版本,并始终通过 BundleTable.EnableOptimizations = true 启用捆绑.

于 2013-10-19T01:43:08.210 回答
0
if (!HttpContext.Current.IsDebuggingEnabled)
    BundleTable.EnableOptimizations = true;
于 2013-10-19T01:46:25.527 回答