在WebForms中使用bundles,在调试模式下输出压缩/合并的文件。
在WebForms中使用bundles,在调试模式下输出压缩/合并的文件。
我已经创建了一个包含各种脚本文件的捆绑包,我希望它们能够被合并/压缩在一起。在我的代码后台文件中(对不起,它是用VB编写的!),我将它添加到
中的Me.PlhHeader.Controls.Add(New LiteralControl(Scripts.Render("~/bundles/main").ToHtmlString()))
这样可以工作,但无论在Web.Config中的debug="true"与否,它似乎总是输出压缩的压缩版本。
无论如何,输出的内容始终如下:
我需要做些什么不同的事情,以便在调试模式下输出单独的未压缩文件?
编辑
我还尝试了手动设置选项BundleTable.EnableOptimizations = false,但它仍然输出单个压缩的脚本标签。我已经没有了主意。
最后编辑
我在一些相关的代码中犯了一个非常愚蠢的错误,但从技术上讲,捆绑包的一切都很好,而且正常工作。我的问题解决了!
使用WebForms中的包(bundle)即使在调试模式下也会输出经过压缩和合并的文件。
问题原因:
- 当在调试模式(debug mode)下,使用`System.Web.Optimization.Scripts.Render`方法时,默认会使用已经打包(bundle)的文件,而不是原始的未打包(unbundled)文件。
解决方法:
- 确保已安装`Microsoft.AspNet.WebOptimization.WebForms`包。
- 检查项目的发布配置(Publish Profiles),确保Script/Css文件在发布设置中包含。
- 移除任何`obj/[debug][release]/packages/PackageTmp`文件夹,这是MSBuild在发布到目标文件夹之前编译Web应用程序的临时文件夹。
参考链接:
- [Microsoft.AspNet.WebOptimization.WebForms](http://nuget.org/packages/Microsoft.AspNet.Web.Optimization.WebForms/)
- [GitHub Solution](https://github.com/marcoramires/WebformsBoilerplate)