font-awesome不能在MVC5中使用bundleconfig
如果我直接在font-awesome.css
页面中引用font-awesome.css
。 它会工作
<link href="~/Content/font-awesome-4.0.3/css/font-awesome.css" rel="stylesheet" />
但是我在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" ));
还观察到浏览器控制台对字体目录有错误。 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
可能是什么问题呢?
如本文所述 ,绑定时请尝试使用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());
这将更改资源从CSS文件的任何url到绝对的URL,所以捆绑不会弄乱相对path。
MSDN链接: CssRewriteUrlTransform
我的解决scheme很简单:运行PM> Install-Package FontAwesome,并引用正确的path:
.Include("~/Content/font-awesome.min.css")
我有相同的错误消息,并在IIS中设置networking字体的MIMEtypes后修复。
我也有这个相同的错误信息。 我必须做这个线程中列出的答案的组合:
-
按照@Simon Cbuild议添加这行代码:
.include(“〜/ Content / font-awesome-4.0.3 / css / font-awesome.css”,新的CssRewriteUrlTransform());
这工作,以解决相关的url,但是,我不得不从我的bower目录中删除font-awesome.min.css文件,每当我发布,否则捆绑器会感到困惑,不包括和缩小font-awesome.css文件。 所以…
-
我不得不做@miha在评论中提出的build议,并用CssRewriteUrlTransform()修复font-awesome.min.css文件中的相关url。 所以我决定重写.min文件中的url,只是包括那个而不是未分类的版本,它的工作原理:
.include(“〜/ Content / font-awesome-4.0.3 / css / font-awesome.min.css”,新的CssRewriteUrlTransform());
如果我理解正确,捆绑器将不会尝试再次缩小.min文件,因为它已经被缩小。 唯一的“缺点”是它不会将font-awesome.min.css内容连接到捆绑器创build的单个css文件中。 它将被分开包含。