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

React+Vite部署GitHub Pages后图片无法加载问题求助

解决React + Vite部署GitHub Pages后图片404问题

1. 配置Vite的base路径

GitHub Pages部署项目仓库时,网站根路径并非/,而是/你的仓库名称/。必须在vite.config.js中指定正确的base值:

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

export default defineConfig({
  plugins: [react()],
  base: '/your-repo-name/' // 替换为你的GitHub仓库实际名称
})

如果是用户主页仓库(如username.github.io),base可直接设为'/'。

2. 修正图片路径写法

public文件夹下的资源,Vite会直接复制到dist根目录,引用时需注意:

  • 推荐结合import.meta.env.BASE_URL动态拼接路径,适配本地和部署环境:
    const ImageCard = ({ imgName }) => {
      const imgUrl = `${import.meta.env.BASE_URL}${imgName}`
      return <img src={imgUrl} alt="内容图片" />
    }
    
  • 禁止使用相对路径(如../public/xxx.png)或带public前缀的路径(如/public/xxx.png)。

3. 验证props传递的路径正确性

确保父组件传递的图片路径是public文件夹下的相对文件名,而非带前缀的错误路径:

// 正确写法
<ImageCard imgName="banner.jpg" />

// 错误写法(避免)
<ImageCard imgName="/public/banner.jpg" />
<ImageCard imgName="src/public/banner.jpg" />

4. 检查构建产物与部署设置

  • 执行npm run build后,打开dist文件夹,确认图片文件是否在根目录下(与index.html同级);
  • 查看dist/index.html中的图片src属性,确认路径是否包含正确的仓库名前缀;
  • 进入GitHub仓库的Settings → Pages页面,确认部署来源为gh-pages分支(或指定dist文件夹),等待部署完成后刷新页面(可强制清除浏览器缓存)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 05:12:34