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

使用Vite.js部署GitHub Pages时路径异常及文件嵌套问题求助

Vite部署GitHub Pages静态资源加载失败的解决办法

问题背景

使用Vite搭建的项目,通过gh-pages -d dist部署到GitHub Pages后,JS、CSS等静态资源无法正常加载。排查发现index.html被放置在与仓库同名的子文件夹中,导致资源路径匹配失效。此前尝试过npx vite optimize、调整vite.config.js、将dist设为子模块、修改.gitignore、切换多种资源路径格式、配置npm部署脚本等方法,均未解决问题。

核心解决步骤

1. 配置Vite的base路径

在项目根目录的vite.config.js文件中(如果没有则新建),添加base配置项,值为你的GitHub仓库名称(注意末尾要加斜杠):

import { defineConfig } from 'vite'
// 这里根据你使用的框架引入对应插件,比如Vue项目引入vue插件
import vue from '@vitejs/plugin-vue'

export default defineConfig({
  plugins: [vue()],
  base: '/yaay/' // 替换为你的GitHub仓库名称,格式为/仓库名/
})

2. 重新构建项目

执行Vite构建命令,生成带有正确路径前缀的dist文件:

npm run build

3. 重新部署到GitHub Pages

再次执行gh-pages部署命令:

gh-pages -d dist

原理说明

GitHub Pages的项目站点默认部署在https://<用户名>.github.io/<仓库名>/的子路径下,Vite默认构建的资源路径是根目录绝对路径(以/开头),会直接去https://<用户名>.github.io/下查找资源,自然找不到。通过设置base为仓库名称,Vite会自动为所有静态资源路径添加/仓库名/前缀,让资源路径匹配GitHub Pages的子目录结构,从而正常加载。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 02:57:16