2.8 KiB
2.8 KiB
空白页面故障排除指南
🔧 已修复的问题
1. Vue Router History模式问题 ✅
问题: 静态文件服务器不支持HTML5 History模式 解决方案: 生产环境自动切换到Hash模式
// 修复前
history: createWebHistory(import.meta.env.BASE_URL)
// 修复后
history: import.meta.env.PROD ? createWebHashHistory() : createWebHistory()
2. 资源路径问题 ✅
问题: 绝对路径导致资源加载失败 解决方案: 使用相对路径构建
// vite.config.ts
base: './' // 使用相对路径
🚀 测试步骤
1. 构建并预览
npm run build:prod
npm run preview
2. Live Server测试
- 右键
dist/index.html - 选择 "Open with Live Server"
- 应该看到登录页面而不是空白页
3. 静态服务器测试
cd dist
python -m http.server 8080
# 访问: http://localhost:8080
🔍 调试方法
查看浏览器控制台
- 打开开发者工具 (F12)
- 查看Console标签是否有错误
- 查看Network标签确认资源加载
常见错误类型
- 404错误: 资源路径问题
- CORS错误: API跨域问题
- JavaScript错误: 代码逻辑问题
- 路由错误: Vue Router配置问题
🌐 不同环境的URL格式
开发环境 (History模式)
http://localhost:3000/
http://localhost:3000/login
http://localhost:3000/dashboard
生产环境 (Hash模式)
http://localhost:4173/
http://localhost:4173/#/login
http://localhost:4173/#/dashboard
📋 检查清单
✅ 资源加载检查
- HTML文件使用相对路径
./assets/ - CSS文件正常加载
- JavaScript文件正常加载
- 无404错误
✅ Vue应用检查
<div id="app">存在- Vue实例正常挂载
- 路由系统正常工作
- 组件正常渲染
✅ API连接检查
- 后端服务正常运行
- API地址配置正确
- CORS策略配置正确
- 网络连接正常
🔧 高级调试
检查构建产物
# 检查HTML文件内容
cat dist/index.html
# 检查是否使用相对路径
grep -o '\./assets' dist/index.html
# 检查JavaScript文件大小
ls -lh dist/assets/*.js
手动测试步骤
- 在浏览器中访问
http://localhost:4173 - 检查是否自动重定向到
#/login - 查看登录表单是否正常显示
- 测试登录功能是否可用
⚠️ 注意事项
- Hash模式影响: URL会包含
#符号 - SEO影响: Hash模式对SEO不友好
- API调用: 确保API地址在生产环境中正确
- 缓存问题: 浏览器可能缓存旧版本,尝试硬刷新
现在应用应该可以正常显示了!如果仍有问题,请检查浏览器控制台的具体错误信息。