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

Vite+React项目出现Uncaught SyntaxError报错的原因及解决咨询

解决Uncaught SyntaxError: ambiguous indirect export: default错误

这个错误大概率不是App.jsx本身的问题,而是你导入的某个子组件(Navbar、Footer、Home、About、Contact)的导出与导入方式不匹配,或者模块解析缓存导致的。以下是具体排查和解决步骤:

1. 检查所有子组件的导出与导入匹配性

逐个检查./components/Navbar/Navbar.jsx、./components/Footer/Footer.jsx、./pages/Home.jsx等文件的导出方式:

  • 如果组件使用命名导出(比如export const Navbar = () => {...}),需要把App.jsx里的导入改成命名导入:
    // 原导入
    import Navbar from "./components/Navbar/Navbar";
    // 修改为
    import { Navbar } from "./components/Navbar/Navbar";
    
  • 如果组件使用默认导出(比如export default Navbar),确保每个文件只有一个默认导出,不要同时存在默认导出和命名导出(这种情况会导致Vite解析歧义)。

举个错误示例:如果Home.jsx里同时写了两种导出,就会触发这个错误:

// 错误:同时存在命名导出和默认导出
export const Home = () => { ... }
export default Home

解决:只保留一种导出方式,比如删掉命名导出,只留export default Home。

2. 清除Vite缓存并重启开发服务器

Vite的缓存有时候会导致模块解析异常,强制清除缓存重启:

npm run dev -- --force
# yarn用户执行
yarn dev --force
# pnpm用户执行
pnpm dev --force

3. 检查依赖版本兼容性

确保react和react-router-dom版本兼容:

  • react-router-dom v6要求React版本≥16.8(支持hooks)
  • 打开package.json查看版本,比如:
    "dependencies": {
      "react": "^18.2.0",
      "react-router-dom": "^6.18.0"
    }
    

如果版本过低,执行升级命令:

npm install react@latest react-router-dom@latest

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 01:57:11