react项目中引入字体文件,本地启动时,有时候生效,有时候失败,控制台提示:Failed to decode downloaded font。

解决办法:

1. 重新下载字体文件,保证字体文件无损坏。

2. 将字体文件放在public/fonts/目录下。

3. css文件中引入字体:

@font-face {
  font-family: 'DingTalk-JinBuTi';
  src: url('/fonts/DingTalk-JinBuTi.woff2') format('woff2'),
       url('/fonts/DingTalk-JinBuTi.woff') format('woff'),
       url('/fonts/DingTalk-JinBuTi.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
}

注意:

1)font-family的值要与字体文件打开后显示的“字体名称”一样。

2)src中url路径不添加public,直接使用/即表示在public目录下,项目中加上/public的别名~@public之后,有时字体文件引入会失效,直接使用上述代码的/fonts/……路径即可。

3)打包后,public目录下的字体文件作为静态资源存在,部署到服务器上之后,发现字体引入失效,控制台提示的download路径为:http://ip/fonts/……,此时结合打包文件在服务器上的存放路径,将url加上打包文件夹名称,即url('/打包文件名/fonts/DingTalk-JinBuTi.woff2'),重新打包部署后字体引入成功。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐