font-awesome在MVC5中没有使用bundleconfig

Jam*_*123 49 css fonts twitter-bootstrap font-awesome asp.net-mvc-5

如果我直接参考font-awesome.css_layouts页面.它会工作

<link href="~/Content/font-awesome-4.0.3/css/font-awesome.css" rel="stylesheet" />
Run Code Online (Sandbox Code Playgroud)

但我用过BundleConfig.cs.图标未显示.

 bundles.Add(new StyleBundle("~/Content/css").Include(
                        "~/Content/font-awesome-4.0.3/css/font-awesome.css",
                        "~/Content/bootstrap.css",                        
                         "~/Content/body.css",
                        "~/Content/site.css",
                        "~/Content/form.css"
                     ));
Run Code Online (Sandbox Code Playgroud)

而且我观察到浏览器控制台对字体目录有错误. Failed to load resource: the server responded with a status of 404 (Not Found) http://localhost:51130/fonts/fontawesome-webfont.woff?v=4.0.3

可能是什么问题呢?

Sim*_*n C 100

本文所述,请CssRewriteUrlTransform在捆绑时尝试使用:

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

这会将css文件中任何资产的URL更改为绝对URL,因此捆绑不会弄乱相对路径.

MSDN链接:CssRewriteUrlTransform

  • 在我的情况下,我不得不删除.min.css版本 - 它导致优化器不生成具有正确路径的缩小版本 (17认同)
  • 确保你也修复了font-awesome.min.css中的路径(或者只是删除了这个文件,因为捆绑会缩小你的css).否则它可能会拾取.min.css文件并且不会发生转换. (7认同)
  • 如果您的应用程序托管在IIS中的虚拟目录中,则必须覆盖`CssRewriteUrlTransform`以将此考虑在内.您可以在stackoverflow上找到一个示例,只需谷歌"CssRewriteUrlTransform虚拟目录". (3认同)

har*_*eyt 10

我的解决方案很简单:运行PM> Install-Package FontAwesome,并引用正确的路径:

.Include("~/Content/font-awesome.min.css")
Run Code Online (Sandbox Code Playgroud)

  • 这。我正在使用 NuGet 中的 FontAwesome 4.2,这就是所需要的全部(尽管引用文件的“.min”版本没有任何意义,因为捆绑将为您处理缩小问题)。 (2认同)