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

Reactjs中map遍历渲染组件时图片无法正确映射加载问题

问题原因

当项目中使用的webpack资源加载器(file-loader/url-loader等)默认开启ES模块导出规则时,require() 引入图片资源返回的是一个ES模块对象,资源真实路径存储在该对象的default属性下,直接将返回值赋值给img的src属性就会出现[object Module]的异常显示。

解决方案

方案1:直接访问default属性(临时适配,无需修改打包配置)

修改传入BookComponent的src属性代码即可:

src={require("./assets/images/" + book.image + ".png").default}

方案2:修改打包配置关闭ES模块导出(全局生效)

在webpack配置中找到图片资源对应的loader规则,添加esModule: false配置即可,参考示例:

module.exports = {
  module: {
    rules: [
      {
        test: /\.(png|jpe?g|gif)$/i,
        use: [
          {
            loader: 'file-loader',
            options: {
              esModule: false, // 关闭ES模块导出
            },
          },
        ],
      },
    ],
  },
};

配置生效后无需再加.default,直接使用原有require写法即可正常获取图片路径。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 12:15:03