【问题标题】:ASP.NET Bundling: Run IBundleTransform even when not optimizingASP.NET 捆绑:即使在未优化时也运行 IBundleTransform
【发布时间】:2013-10-25 13:35:27
【问题描述】:

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

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

只要我们在发布模式下运行,一切都会正常工作,因为随后会开始捆绑和优化。但在调试模式下(这对调试来说很好;)它似乎完全忽略了所有指定的IBundleTransform(我猜在大多数用例中都有意义)。

有没有办法始终运行我们自己的 IBundleTransform,即使在调试模式下,但仅在我真的运行其他(默认)捆绑算法(JsMinifyCssMinify)时想要优化(在发布模式下)?

【问题讨论】:

    标签: asp.net asp.net-optimization


    【解决方案1】:

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

    【讨论】:

    • Tx,我会采纳您的建议/解决方法并创建专门的 DebugRelease 包。`
    【解决方案2】:
    if (!HttpContext.Current.IsDebuggingEnabled)
        BundleTable.EnableOptimizations = true;
    

    【讨论】:

    • Tx,但这并不能解决问题,因为我不需要更改Debug-/Release-mode,但我需要在Debug-mode中使用Release-mode功能。
    猜你喜欢
    • 2012-03-20
    • 2013-05-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-09
    • 2012-10-02
    • 1970-01-01
    相关资源
    最近更新 更多