我正在构建一个个人项目,但字体很棒的网络字体无法加载时遇到了一些问题。 我已经做了一个gulp构建来集成Bootstrap 4,并将我所有的JS/SCSS/Fonts/Img从src目录构建到dist目录。我在 wwwroot 之外为 Dist 服务
将ASPNETCORE_ENVIRONMENT设置为"开发"时,一切正常,我的字体正确加载,但在"生产"中,它无法加载,我在控制台中收到以下消息:
Failed to load resource: the server responded with a status of 404 (Not Found)fa-regular-400.woff
Failed to load resource: the server responded with a status of 404 (Not Found)fa-regular-400.woff2
Failed to load resource: the server responded with a status of 404 (Not Found) fa-regular-400.ttf
当我将鼠标悬停在错误上时,我看到它们是从我的 SrcAssets 提供的,而不是像我所有其他资产文件那样的 DistAssets。
我没有找到任何关于 Core2.0 MVC 的工作资源,我发现的所有内容都是关于这些文件扩展名需要映射到的旧内容,例如应用程序/font-woff2
我尝试的最后一件事是在下面的配置方法中,但它仍然不起作用。
FileExtensionContentTypeProvider typeProvider = new FileExtensionContentTypeProvider();
if (!typeProvider.Mappings.ContainsKey(".woff2"))
{
typeProvider.Mappings.Add(".woff2", "application/font-woff2");
}
if (!typeProvider.Mappings.ContainsKey(".woff"))
{
typeProvider.Mappings.Add(".woff", "application/font-woff");
}
if (!typeProvider.Mappings.ContainsKey(".ttf"))
{
typeProvider.Mappings.Add(".woff", "application/font-ttf");
}
app.UseStaticFiles(new StaticFileOptions
{
ContentTypeProvider = typeProvider,
FileProvider = new PhysicalFileProvider(Path.Combine(Directory.GetCurrentDirectory(), "DistAssets")),
RequestPath = "/assets"
});
感谢您的帮助。
我遇到了同样的问题,但我添加了"../lib/FontAwesome/webfonts"
而不是"../webfonts"
_variables.scss
$fa-font-path: "../lib/FontAwesome/webfonts" !default;
也许它也会帮助你:)
尝试将此代码添加到您的 web.config
<configuration>
....
<system.webServer>
<staticContent>
<mimeMap fileExtension="woff" mimeType="font/woff" />
</staticContent>
</system.webServer>
</configuration>