CssRewriteUrlTransform不需要

And*_*ers 5 c# asp.net-mvc web-optimization

bundles.Add(new StyleBundle("~/a/b/c")
    .Include("~/Content/font-awesome.css", new CssRewriteUrlTransform()));
Run Code Online (Sandbox Code Playgroud)

我有这个捆绑.font-awesome css有一个url,定义为url('../fonts/fontawesome-webfont.eot?v=4.0.3')当css位于下面时有效,"~/Content/font-awesome.css"但现在它位于"〜/ a/b"下面

但是CssRewriteUrlTransform没有开始并改写路径url('../../fonts/fontawesome-webfont.eot?v=4.0.3')

更新:如果我删除.min文件它CssRewriteUrlTransform开始工作,网页优化的错误?

https://aspnetoptimization.codeplex.com/workitem/166

Ruc*_*han 3

和我有同样的问题。

您需要设置相对于文件文件夹的 Bundle url。

bundles.Add(new StyleBundle("~/Content/fontawesomebundle")
    .Include("~/Content/font-awesome.css", new CssRewriteUrlTransform()));
Run Code Online (Sandbox Code Playgroud)

更新: 似乎CssRewriteUrlTransform不适用于min文件。在包含中使用 .min 文件或删除该 min 文件。

  • 默认情况下,捆绑包将使用 .min 文件(如果存在)。可能是这样 (6认同)
  • 事实证明,即使不包含 min 文件,它也会被使用,并且当我使用 min 时,不会进行任何转换。我必须删除一个不应该使用的文件才能使事情正常进行。微软的想法不错。 (3认同)