ASP.NET Core 2 MVC - Font-awesome woff / 2 ttf未在生产中加载

时间:2018-04-21 21:09:47

标签: asp.net-core-mvc asp.net-core-mvc-2.0

我正在构建一个个人项目,并且在加载字体超棒的webfonts方面存在一些问题。我已经制作了一个gulp构建来集成Bootstrap 4并将所有我的JS / SCSS / Fonts / Img从src目录构建到dist目录。我在wwwroot之外服务Dist

将ASPNETCORE_ENVIRONMENT设置为开发时,一切正常,我的字体加载正确,但在"生产",它没有加载,我在控制台中收到以下消息:

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"
});

当我将鼠标悬停在错误上时,我发现它们是从我的SrcAssets提供的,而不是像我所有其他资源文件那样提供DistAssets。

我没有找到任何关于Core2.0 MVC的工作资源我发现的一切都是关于这些文件扩展需要映射到ex的旧版本。应用/字体woff2

我尝试过的最后一件事就是配置方法,但它仍然无效。

namespace aspnetcore does not exist .. are you missing a reference?

感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,但是我在"../lib/FontAwesome/webfonts"中添加了"../webfonts"而不是_variables.scss

$fa-font-path:                "../lib/FontAwesome/webfonts" !default;

也许对您也有帮助:)

答案 1 :(得分:0)

尝试将此代码添加到您的web.config

<configuration>
     ....
     <system.webServer>
         <staticContent>
             <mimeMap fileExtension="woff" mimeType="font/woff" />
         </staticContent>
     </system.webServer>
</configuration>