CSS .NET 中的 Bundle 不合并文件,而是重建文件列表

CSS Bundle in .NET doesn't combine files, but reconstructs a list of files

我正在使用 RegisterBundles 捆绑我的 CSS 文件并从虚拟文件夹中为它们提供服务器。

我在 RegisterBundles 函数中有以下代码:

bundles.Add(new StyleBundle("~/Content/all/")
    .Include("~/foundation/css/normalize.css",new CssRewriteUrlTransform())
    .Include("~/foundation/css/foundation.min.css", new CssRewriteUrlTransform())
    .Include("~/foundation/icons/foundation-icons.css", new CssRewriteUrlTransform())
    .Include("~/Content/jquery.mCustomScrollbar.css", new CssRewriteUrlTransform())
   );

在我的页面中有以下代码:

<%= System.Web.Optimization.Styles.Render("~/Content/all/") %>

问题是 我得到了所有 css 文件的列表,而不是 css 的一个合并和缩小的虚拟路径。我需要 CssRewriteUrlTransform 所有 css 文件以确保正确维护相对路径,因为它们存在于不同的文件夹中。

为了让 Bundled 和 Minified 工作,您应该执行以下操作之一:

  1. 在 web.config
  2. 中将编译更改为 debug="false"
<system.web>
    <compilation debug="false" />
</system.web>
  1. RegisterBundles 的同一文件中,添加以下行
BundleTable.EnableOptimizations = true;