如何在不合并文件的情况下启用Bundle转换
本文关键字:情况下 启用 Bundle 转换 文件 合并 | 更新日期: 2023-09-27 18:10:01
. NET MVC项目我正在工作有两个应用程序键相对于捆绑过程:AppKeys.ApplyMinifyingTransformation
显示是否.css
和.js
文件应该被最小化和合并,AppKeys.ApplyStaticFilesTransformations
显示是否一些文件内容转换应该应用。这些旗帜的不同组合将在不同的舞台上使用。下面是RegisterBundles
方法的简化版本:
public static void RegisterBundles(BundleCollection bundles)
{
BundleTable.EnableOptimizations = AppKeys.ApplyMinifyingTransformationAndBlockJs ||
AppKeys.ApplyStaticFilesTransformations;
var lessStyles = new Bundle("~/Bundles/Styles/")
.IncludeDirectory("~/Path-to-css", "*.css", true);
var postProcessors = AppKeys.ApplyStaticFilesTransformations
? new[] {new StaticFilesPostProcessor()}
: new IPostProcessor[] {};
var transformer = AppKeys.ApplyMinifyingTransformationAndBlockJs
? new StyleTransformer(new YuiCssMinifier(), postProcessors)
: new StyleTransformer(postProcessors);
transformer.CombineFilesBeforeMinification = AppKeys.ApplyMinifyingTransformationAndBlockJs;
lessStyles.Transforms.Add(transformer);
bundles.Add(lessStyles);
}
不幸的是,这段代码不能像我希望的那样工作。BundleTable.EnableOptimizations
应该是true
文件转换工作,但在这种情况下,文件总是合并为一个。
是否有一种方法可以显式地声明我想要启用转换,但不应该合并文件?
根据Web.config中compilation
元素的debug
属性值进行捆绑和缩小。
<compilation debug="true" targetFramework="4.0"/>
启用后,文件按原样呈现,当启用debug="false"
时,文件被捆绑和缩小。
BundleTable.EnableOptimizations = AppKeys.ApplyMinifyingTransformationAndBlockJs ||
AppKeys.ApplyStaticFilesTransformations;
在生产环境中部署应用程序时,请记住将debug
属性的值更改为false
。
更多信息在这里http://www.asp.net/mvc/overview/performance/bundling-and-minification.