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

React Vite项目部署至GitHub Pages出现main.jsx 404错误求助

解决Vite React项目部署后main.jsx 404的问题

以下是针对你遇到的部署后资源404问题的排查和解决步骤:

1. 配置Vite的base路径

GitHub Pages部署在子路径(/Food-Recipe-App/)下,Vite默认会以根路径加载资源,导致找不到文件。需要修改vite.config.js(或.ts):

import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'

export default defineConfig({
  base: '/Food-Recipe-App/', // 匹配你的GitHub Pages子路径
  plugins: [react()],
})

2. 设置package.json的homepage字段

在package.json中添加homepage,确保构建时资源路径正确:

{
  "homepage": "https://sreejith-10.github.io/Food-Recipe-App/",
  "scripts": {
    "build": "vite build",
    // 其他脚本...
  }
}

3. 检查构建输出与部署文件

  • 执行npm run build生成dist目录,确认里面的JS文件是main.xxx.js(带hash后缀),而不是main.jsx——Vite构建时会编译JSX为JS,页面引用的应该是编译后的文件,若页面仍引用main.jsx,说明构建或配置有问题。
  • 部署时确保dist目录下的所有文件都完整上传到GitHub Pages的部署分支(通常是gh-pages)。

4. 路由适配(若使用React Router)

如果项目用了React Router的BrowserRouter,需要设置basename匹配子路径,或者改用HashRouter避免路径问题:

方式一:设置basename

import { BrowserRouter } from 'react-router-dom'

function App() {
  return (
    <BrowserRouter basename="/Food-Recipe-App">
      {/* 路由内容 */}
    </BrowserRouter>
  )
}

方式二:改用HashRouter

import { HashRouter } from 'react-router-dom'

function App() {
  return (
    <HashRouter>
      {/* 路由内容 */}
    </HashRouter>
  )
}

完成以上配置后,重新构建并部署,应该能解决资源404的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 17:42:09