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

React项目中图片无法显示的问题求助

React图片无法显示问题排查与解决

我刚开始学习React,搭建了一个静态HTML页面,其他内容都能正常运行,但唯独React logo图片无法显示。图片是从public文件夹复制过来的,但在浏览器里看不到。以下是我的代码和相关截图:

HTML代码

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8" />
    <link rel="icon" href="%PUBLIC_URL%/favicon.ico" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <meta name="theme-color" content="#000000" />
    <meta name="description" content="Web site created using create-react-app" />
    <link rel="apple-touch-icon" href="%PUBLIC_URL%/logo192.png" />
    <link rel="manifest" href="%PUBLIC_URL%/manifest.json" />
    <title>React App</title>
  </head>
  <body>
    <div id="root"></div>
    
    <script src="index.js"></script>
  </body>
</html>

JS代码

import React from "react"
import ReactDOM from "react-dom/client"

const page = (
  <div>
    <img src="first-project/public/logo512.png" width="40px"/>
    <h1>Fun facts about React</h1>
    <ul>
      <li>Was released in 2013</li>
      <li>Was originally created by Jordan Walke</li>
      <li>Has well over 100k stars on Github</li>
      <li>Is maintained by facebook</li>
      <li>Powers thousands of enterprise apps, including mobile apps</li>
    </ul>
  </div>
)

const root = ReactDOM.createRoot(document.getElementById("root"))
root.render(page)

网页显示效果

网页中图片无法显示的效果

IDE文件结构

IDE中的文件结构


问题原因与解决方法

问题出在图片路径配置错误。Create React App中,public文件夹是静态资源的根目录,部署后会直接映射到网站根路径,不需要额外添加项目或文件夹前缀。以下是三种可行的修复方案:

方案一:使用根相对路径

直接引用public文件夹下的图片,路径以/开头:

<img src="/logo512.png" width="40px"/>

方案二:通过import引入图片

利用Webpack的资源处理能力,直接import图片文件,自动生成正确路径:

import React from "react"
import ReactDOM from "react-dom/client"
import logo from "./public/logo512.png" // 根据实际文件层级调整相对路径

const page = (
  <div>
    <img src={logo} width="40px"/>
    // 其余内容保持不变
  </div>
)

root.render(page)

方案三:使用PUBLIC_URL环境变量

在JSX中通过process.env.PUBLIC_URL获取public文件夹的部署路径:

<img src={`${process.env.PUBLIC_URL}/logo512.png`} width="40px"/>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 22:08:16