9

我开始使用 .NET 4.5 内置的缩小和捆绑来缩小和捆绑我的 CSS 和 JavaScript。JavaScript 缩小效果很好,但是,我在 CSS 缩小方面遇到了麻烦。我使用以下代码创建了一个样式包 -

var myCss = new string[]
                                        {
                                            "~/Content/jquery.css",
                                            "~/Content/app.css",
                                        };
bundles.Add(new StyleBundle("~/bundles/MySiteCss/").Include(myCss ));

然后我在 .cshtml(剃刀文件)中引用它们,如下所示 -

@Styles.Render("~/bundles/MySiteCss/")

它缩小了 CSS 文件。但是,如果 CSS 文件包含具有背景图像引用的样式,例如 background-image: url('img/icon.png'),它会尝试从新位置加载此图标文件(从包名称派生) = /bundles/MySiteCss/img/icon.png

由于该图标不存在于该位置,因此它不会被加载并显示在页面上。

4

2 回答 2

11

您需要从同一个地方提供您的捆绑包和 CSS 才能轻松工作。例如,将您的捆绑线更改为:

bundles.Add(new StyleBundle("~/Content/MySiteCss/").Include(myCss));

并更新您的参考:

@Styles.Render("~/Content/MySiteCss/")
于 2012-08-07T20:40:16.100 回答
0

这已在 Microsoft ASP.NET Web 优化框架的 1.1.0-alpha1 版中得到修复。如果包含 Prerelease,
您可以通过 NuGet ( https://nuget.org/packages/Microsoft.AspNet.Web.Optimization ) 获取更新。

于 2013-01-12T14:46:04.280 回答