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

如何修复GitHub Pages的HTTP 404错误?React+Vite部署求助

解决Vite+React部署GitHub Pages出现404的问题

1. 替换Vite的路径配置(弃用package.json的homepage)

Vite不支持homepage字段,需要在web/vite.config.js(或.ts)里配置base,值要和GitHub Pages的访问路径匹配:

  • 若为个人/组织主页仓库(仓库名格式:username.github.io),base设为'/'
  • 若为项目仓库,base设为'/你的仓库名/'(比如你的仓库叫github-page,就写'/github-page/')

示例配置:

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

export default defineConfig({
  plugins: [react()],
  base: '/github-page/' // 替换为你的实际仓库名
})

2. 修正GitHub Actions Workflow配置

确保Workflow里的步骤准确指向web目录的产物,示例完整配置(.github/workflows/deploy.yml):

name: Deploy to GitHub Pages

on:
  push:
    branches: [ main ] # 替换为你的主分支名,比如master

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: Setup Node.js
        uses: actions/setup-node@v4
        with:
          node-version: 20 # 匹配你的项目Node版本

      - name: Install dependencies & build
        working-directory: ./web
        run: |
          npm install
          npm run build

      - name: Deploy to Pages
        uses: peaceiris/actions-gh-pages@v4
        with:
          github_token: ${{ secrets.GITHUB_TOKEN }}
          publish_dir: ./web/dist # 明确指向web目录下的构建产物

3. 检查GitHub Pages仓库设置

  • 进入仓库「Settings」→「Pages」
  • 确认Source选择gh-pages分支,目录为/(root)
  • 若之前有错误部署记录,先删除gh-pages分支,再重新推送代码触发Workflow

4. 修复React Router路由问题(若使用路由)

GitHub Pages不支持SPA的history模式,刷新会导致404,需改用HashRouter:

import { HashRouter as Router, Routes, Route } from 'react-router-dom';

function App() {
  return (
    <Router>
      {/* 你的路由配置 */}
    </Router>
  );
}

内容的提问来源于stack exchange,提问作者Victor Elias Ross Júnior

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 03:05:02