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

JS如何正确导入public文件夹图片 解决跨src目录导入报错

报错原因

你当前使用的项目构建工具(如Create React App、Vite的默认配置)为了规避非法资源引用、保障构建链路的可靠性,默认限制仅支持导入src目录内的模块文件,public目录位于src之外,所以直接使用import导入会触发该报错。

正确处理方案

方案1:直接引用public目录资源路径(推荐,符合public目录设计用途)

public目录的设计定位就是存放无需参与构建编译的静态资源,构建完成后目录内的所有文件会直接输出到打包产物的根目录,你完全不需要通过import导入,直接在代码里引用资源的绝对路径即可:

// 直接在标签里使用路径,不需要提前import
<img src="/logo.png" alt="站点logo" />

如果你的项目部署在域名子路径下,需要拼接构建工具提供的基础路径变量:

  • Create React App项目:
<img src={`${process.env.PUBLIC_URL}/logo.png`} alt="站点logo" />
  • Vite项目:
<img src={`${import.meta.env.BASE_URL}/logo.png`} alt="站点logo" />

方案2:把图片移入src目录内使用import导入

如果你确实需要通过import引入图片(比如要做路径别名绑定、构建时压缩处理等),可以把logo.png移动到src目录下,比如存放到src/assets/images/路径下,再用相对路径导入即可:

// 根据你实际的文件路径调整相对路径即可
import logo from "../assets/images/logo.png";

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 06:45:03