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

React Router路由无法匹配JS文件 导入模块运行报错如何解决

问题原因

代码中存在多余的无效导入语句,直接触发运行报错:

  • 第3行import { Pages } from 'react';为错误写法:React 官方包不存在名为Pages的命名导出,且整段代码中从未使用过Pages变量,属于误输入的冗余代码。
修复方法

直接删除上述无效导入行即可,修正后的完整入口文件代码如下:

import ReactDOM from "react-dom/client";
import { BrowserRouter, Routes, Route } from "react-router-dom";
import Layout from "./pages/Layout";
import Home from "./pages/Home";
import Blogs from "./pages/Blogs";
import Contact from "./pages/Contact";
import NoPage from "./pages/NoPage";

export default function App() {
  return (
    <BrowserRouter>
      <Routes>
        <Route path="/" element={<Layout />}>
          <Route index element={<Home />} />
          <Route path="blogs" element={<Blogs />} />
          <Route path="contact" element={<Contact />} />
          <Route path="*" element={<NoPage />} />
        </Route>
      </Routes>
    </BrowserRouter>
  );
}

const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(<App />);
后续排查项

如果删除无效代码后仍无法正常运行,按以下顺序校验:

  • 确认项目已安装react-router-dom依赖,未安装时在项目根目录执行命令npm install react-router-dom完成安装
  • 确认src/pages/目录下确实存在Layout、Home、Blogs、Contact、NoPage对应的组件文件,文件名大小写与导入语句完全一致(Linux/macOS 等大小写敏感系统下,文件名大小写不匹配会直接报模块找不到错误)
  • 确认Layout组件中引入并渲染了react-router-dom提供的<Outlet />组件,否则嵌套路由的子页面内容无法正常展示

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 19:15:41