Vite 项目打包后需用 vite preview 命令预览 dist 目录,默认访问 http://localhost:4173,要求先执行 vite build,且需配置 base 以匹配子路径部署,Hash 路由可免 base 配置。

在 Vite 项目中,打包后(vite build)生成的静态文件默认放在 dist/ 目录下,但 Vite 本身不内置“预览 dist 的本地服务器”命令。你需要手动启动一个轻量 HTTP 服务来模拟上线环境(如 Nginx、CDN 或 GitHub Pages 的静态托管行为)。
使用 Vite 自带的 preview 命令(推荐)
Vite 从 v2.9+ 开始内置了 vite preview 命令,专为预览打包产物设计,它会:
- 自动读取
dist/目录(或你配置的build.outDir) - 以生产模式(production)提供静态资源,启用真实缓存头、正确处理
base路径、404 fallback(对 SPA 友好) - 默认监听
http://localhost:4173,可自定义端口和 host
✅ 使用方式:
vite preview
或指定端口与公开访问(如需局域网访问):
立即学习“Java免费学习笔记(深入)”;
分析 Java Spring Boot 后端 Controller 代码,自动生成 Markdown 格式的接口文档。当用户说“生成 Java 接口文档”、“生成 API 文档”、“从 Spring 代码生成文档”时触发。
vite preview --port 5173 --host
⚠️ 注意:该命令必须在 vite build 之后运行,否则会报错 “Cannot find dist directory”。
确保 base 和路由配置匹配预览环境
如果你的应用部署在子路径(如 /my-app/),需同步配置:
-
vite.config.ts中设置base: '/my-app/' - 构建后
vite preview会自动按此 base 提供资源,且index.html中的 script/css 路径、Vue Router 的base、Vite 插件(如@vitejs/plugin-react)均能正确解析 - 若用 Hash 路由(
createWebHashHistory),则无需配置base,但需确认preview仍能正常加载资源
替代方案:用简易 HTTP 服务(适合调试或 CI 场景)
如果因版本低(vite preview,可用以下任一方式快速起服务:
-
npx serve -s dist(需全局或本地安装serve) -
npx http-server dist -p 5173 -c-1(禁用缓存便于调试) -
python3 -m http.server 5173 --directory dist(Python 3 内置)
⚠️ 这些工具 不会自动处理 SPA 的 404 fallback,访问深层路由(如 /about)直接刷新会 404。此时需额外配置重定向规则(如 serve 的 -s 参数已支持 SPA fallback)。
验证预览是否符合生产预期
预览时重点检查几项:
- 所有资源(JS/CSS/图片)是否 200 加载,无 404
- 路由跳转、API 请求路径(尤其代理配置只在 dev 生效,生产应走真实后端地址)
- 环境变量(
import.meta.env.*)是否为production值(vite preview默认是 production 模式) - Source map 是否未意外暴露(
build.sourcemap: false可关闭)

















