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

如何解决React项目中“Module not found: Can't resolve './undraw_Upload_image_re_svxx'”错误?

解决React项目中SVG插图导入失败的问题

我来帮你搞定这个SVG导入出错的问题~首先看你遇到的「Module not found」错误,核心原因是导入时没指定SVG文件的后缀,或者没有用正确的方式处理SVG资源,下面给你几个实用的解决方案:

1. 最直接的修复:补上SVG文件后缀

React项目里(准确说是webpack打包工具)默认不会自动识别.svg后缀,所以你只需要把导入语句补上.svg就行:

import Illustration from "./undraw_Upload_image_re_svxx.svg";

然后在img标签里正常使用就没问题了:

<img src={Illustration} alt="上传插图" />

这个方法最简单,只要你的SVG文件确实和App.js在同一个/src目录下,马上就能解决模块找不到的问题。

2. 更优雅的方式:把SVG当成React组件用

如果觉得用img标签不够灵活(比如想修改SVG的颜色、尺寸,或者给它加交互),可以把SVG转换成React组件来使用,有两种省心的方式:

方式一:利用create-react-app内置支持(无需额外配置)

如果你是用create-react-app创建的项目,它已经内置了@svgr/webpack工具,可以直接把SVG导入成React组件:

// 注意这里的写法:用ReactComponent别名导入
import { ReactComponent as Illustration } from "./undraw_Upload_image_re_svxx.svg";

然后直接把它当成组件用就行,还能通过props控制样式:

<Illustration style={{ fill: "#2563eb", width: "300px" }} />

这种方式不用复制粘贴SVG代码,还能灵活修改样式,非常推荐!

方式二:手动封装成组件(适合自定义需求多的场景)

如果你的项目不是create-react-app,或者想更深度自定义SVG,可以把SVG代码复制到一个单独的组件文件里,比如UploadIllustration.jsx:

// src/UploadIllustration.jsx
export default function UploadIllustration({ className, style }) {
  return (
    <svg 
      xmlns="http://www.w3.org/2000/svg" 
      width="200" 
      height="200" 
      viewBox="0 0 200 200"
      className={className}
      style={style}
    >
      {/* 这里粘贴你的SVG原始代码 */}
    </svg>
  );
}

然后在App.js里导入使用:

import UploadIllustration from "./UploadIllustration";

function App() {
  return (
    <div>
      <UploadIllustration style={{ fill: "teal", width: "250px" }} />
    </div>
  );
}

这种方式你可以完全控制SVG的所有属性,适合需要频繁修改样式的场景。

3. 可选:配置webpack自动识别SVG后缀(不推荐)

如果你实在不想每次都写.svg后缀,可以修改webpack的配置(create-react-app需要先eject或者用craco修改),在resolve.extensions里添加.svg:

// webpack.config.js
module.exports = {
  resolve: {
    extensions: ['.js', '.jsx', '.svg'], // 把.svg加进去
  },
};

不过这个方法我不太推荐,因为省略后缀可能会导致文件命名冲突,代码可读性也不如明确写后缀好。

总结一下,最省心的是「补上后缀用img标签」或者「用create-react-app的组件导入方式」,既简单又能满足大部分需求~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.29 23:27:37