贝利信息

Vite 构建时修复图片资源路径为相对路径(./assets/)的配置方法

日期:2026-01-21 00:00 / 作者:心靈之曲

vite 默认将静态资源路径设为绝对根路径(如 `/assets/photo.svg`),导致非根目录部署时图片无法加载;通过配置 `vite.config.js` 中的 `base: './'`,可强制所有资源使用相对路径,无需修改组件代码。

在 Vite 项目中,构建后生成的 HTML 和 JS 文件会引用静态资源(

如 SVG、PNG 等)时,默认采用以 / 开头的绝对路径(例如 )。该行为适用于部署在域名根路径(如 https://example.com/)的场景,但当应用需部署在子路径下(如 https://example.com/my-app/ 或本地测试服务器的 http://localhost:8080/subdir/)时,浏览器会错误地尝试从根目录请求资源(即 https://example.com/assets/photo.svg),而非相对子路径(https://example.com/my-app/assets/photo.svg),从而导致图片 404。

解决此问题最简洁、全局生效的方式是:在 vite.config.js 中显式设置 base 选项为相对路径 './'。该配置会作用于所有由 Vite 处理的资源 URL(包括 HTML 中的 、CSS 中的 url()、JS 中的动态导入等),确保构建产物中所有资源引用均以 ./ 开头,实现真正的路径可移植性。

✅ 正确配置示例(vite.config.js):

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

export default defineConfig({
  plugins: [react()],
  base: './', // ? 关键配置:启用相对路径基准
})

⚠️ 注意事项:

总结:base: './' 是 Vite 官方推荐的、轻量且可靠的跨环境资源路径方案,特别适合 CI/CD 多环境部署或嵌入式子应用场景。