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

React应用同目录图片无法显示问题求助(WebStorm可预览)

React组件同目录图片无法加载问题

问题详情

我将React组件与图片放置在同一目录下,编写的Header组件代码如下:

import classes from './Header.module.css'

import React from 'react';

const Header = () => {
    return (
        <div className={classes.header}>
            <div className={classes.logo}>
                <img src="logo.png" alt="Logo"/>
            </div>
        </div>
    );
};

export default Header;

组件文件、Header.module.css、logo.png三者处于同一目录,WebStorm中可以正常预览图片,但浏览器里无法加载该图片。

解决方案

方法1:通过import引入图片(通用推荐)

React项目中,直接用相对字符串路径作为src无法被打包工具正确解析,需先导入图片资源:

import classes from './Header.module.css';
import React from 'react';
import logo from './logo.png'; // 引入图片资源

const Header = () => {
    return (
        <div className={classes.header}>
            <div className={classes.logo}>
                <img src={logo} alt="Logo"/> {/* 使用导入的图片变量 */}
            </div>
        </div>
    );
};

export default Header;

方法2:将图片放入public目录

如果项目存在public目录,将logo.png移到该目录下,修改src为根相对路径:

<img src="/logo.png" alt="Logo"/>

注:public目录下的资源不会被打包工具处理,路径直接基于项目根目录。

方法3:检查打包工具配置(自定义场景)

若使用自定义webpack配置,需确保配置了图片资源解析规则(webpack 5+使用Asset Modules):

module.exports = {
  module: {
    rules: [
      {
        test: /\.(png|jpe?g|gif)$/i,
        type: 'asset/resource',
      },
    ],
  },
};

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 15:35:00