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

React模块未找到错误:已尝试多种排查方案仍无法解决

React组件导入错误修复

问题概述

我是React新手,尝试在AllMeetups.js中导入MeetupList.js组件时失败,编译报错。

文件结构(描述的预期结构)

src
|-- components
|   |-- meetups
|   |   |-- MeetupList.js
|   |   |-- MeetupItem.js
|-- pages
|   |-- AllMeetups.js

编译报错信息

Compiled with problems:
ERROR in ./src/components/pages/AllMeetups.js 4:0-61
Module not found: Error: Can't resolve '../components/meetups/MeetupList.js' in '/home/zoren/my-react-app/src/components/pages'

相关代码

AllMeetups.js

import MeetupList from "../components/meetups/MeetupList";
import classes from "./AllMeetups.module.css";

const DUMMY_DATA = [
  {
    id: "m1",
    title: "This is a first meetup",
    image:
      "https://upload.wikimedia.org/wikipedia/commons/thumb/d/d3/Stadtbild_M%C3%BCnchen.jpg/2560px-Stadtbild_M%C3%BCnchen.jpg",
    address: "Meetup street 5, 12345 Meetup City",
    description:
      "This is a first, amazing meetup which you definitely should not miss. It will be a lot of fun!",
  },
  {
    id: "m2",
    title: "This is a second meetup",
    image:
      "https://upload.wikimedia.org/wikipedia/commons/thumb/d/d3/Stadtbild_M%C3%BCnchen.jpg/2560px-Stadtbild_M%C3%BCnchen.jpg",
    address: "Meetup street 5, 12345 Meetup City",
    description:
      "This is a first, amazing meetup which you definitely should not miss. It will be a lot of fun!",
  },
];

function AllMeetupsPage() {
  return (
    <section className={classes.header}>
      <h1> All Meetups</h1>
      <MeetupList meetups= {DUMMY_DATA} />
    </section>
  );
}

export default AllMeetupsPage;

MeetupList.js

import MeetupItem from "./meetups/MeetupItem";
import classes from "./MeetupList.module.css";

function MeetupList(props) {
  return (
    <ul className={classes.list}>
      {props.meetups.map((meetup) => (
        <MeetupItem
          key={meetup.id}
          id={meetup.id}
          image={meetup.image}
          title={meetup.title}
          address={meetup.address}
          description={meetup.description}
        />
      ))}
    </ul>
  );
}

export default MeetupList;

MeetupItem.js

import classes from "./MeetupItem.module.css";

function MeetupItem(props) {
  return (
    <li className={classes.item}>
      <div className={classes.image}>
        <img src={props.img} alt={props.title} />
      </div>
      <div className={classes.content}>
        <h3> TITLE</h3>
        <address>{props.title}</address>
        <p> {props.description}</p>
      </div>
      <div className={classes.actions}>
        <button> To Favorites </button>
      </div>
    </li>
  );
}
export default MeetupItem;

已尝试的无效方案

  • 更新react-dom及NPM至最新版本
  • 验证文件路径
  • 删除重建文件
  • 重启开发服务器
  • 检查导入语句拼写
  • 清理npm缓存
  • 删除node_modules后重装依赖
  • 检查循环依赖及Node.js和NPM版本
  • 校验package.json

修复步骤

1. 修正文件结构或导入路径

从报错信息看,AllMeetups.js实际位于src/components/pages/,而非描述中的src/pages/。对应导入路径需要调整:
将AllMeetups.js中的导入语句改为:

import MeetupList from "../meetups/MeetupList";

如果要符合描述的预期结构,需将AllMeetups.js移动到src/pages/目录下,此时原导入语句import MeetupList from "../components/meetups/MeetupList";即可正常工作。

2. 修正MeetupList.js中的MeetupItem导入路径

MeetupList.js和MeetupItem.js在同一目录src/components/meetups/,所以导入路径应改为:

import MeetupItem from "./MeetupItem";

3. 修复MeetupItem.js的props接收错误

当前MeetupItem中存在props匹配错误:

  • 将props.img改为props.image(对应MeetupList传递的image属性)
  • 将<address>{props.title}</address>改为<address>{props.address}</address>
  • 将<h3> TITLE</h3>改为<h3>{props.title}</h3>

完成以上修改后,重启开发服务器即可解决导入问题并正确渲染组件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 11:04:51