You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React项目从public/assets导入CSS报错,求保留字体路径的解决方法

解决React中从public目录导入字体的「Relative imports outside of src/ are not supported」错误

问题出在你写的导入路径上——React项目的public目录是静态资源的根目录,引用其中的文件时不需要加上/public前缀,项目运行时会自动以public作为根路径去查找资源。你之前的写法加上/public后,路径解析错误,触发了相对导入超出src/的限制报错。

正确的导入方式

直接修改src/index.css中的@import路径,去掉/public前缀:

@import url("/assets/fonts/calibri/styleCalibri.css");

额外注意事项

如果你的styleCalibri.css内部还引用了字体文件(比如.ttf、.woff2等),要确保这些字体文件的路径也是基于public根目录的:

  • 若字体文件和styleCalibri.css在同一目录下(public/assets/fonts/calibri/),可以用相对路径直接引用:
    @font-face {
      font-family: 'Calibri';
      src: url('./calibri.ttf') format('truetype');
      /* 其他字体属性 */
    }
    
  • 也可以用绝对路径基于public根目录引用:
    @font-face {
      font-family: 'Calibri';
      src: url('/assets/fonts/calibri/calibri.ttf') format('truetype');
      /* 其他字体属性 */
    }
    

修改完成后,重启React开发服务器,确保浏览器控制台没有404资源错误,字体就能正常加载了。

内容的提问来源于stack exchange,提问作者DevD

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 00:52:05