# 前端应用部署说明 ## 问题解决 已修复的问题: - ✅ 添加了聊天页面的底部导航栏 - ✅ 修复了底部导航栏遮挡输入框的问题 - ✅ 修复了静态资源路径问题(404错误) - ✅ 修复了登录成功后跳转到根目录的问题 ## 配置修改 ### 1. Vite配置 (vite.config.ts) ```typescript export default defineConfig({ base: '/emotion-museum/', // 添加了base路径 // ... 其他配置 }) ``` ### 2. Vue Router配置 (src/router/index.ts) ```typescript const router = createRouter({ history: createWebHistory('/emotion-museum/'), // 添加了base路径 // ... 其他配置 }) ``` ### 3. 登录跳转修复 (src/views/Login/index.vue) ```typescript // 修复前:使用window.location.href会跳转到根目录 window.location.href = redirect // 修复后:使用Vue Router确保正确的base路径 await router.push(redirect) ``` ## 部署步骤 ### 方法一:使用部署脚本(推荐) #### Windows用户: ```powershell # 1. 构建项目 npm run build # 2. 运行部署脚本 .\deploy.ps1 ``` #### Linux/Mac用户: ```bash # 1. 构建项目 npm run build # 2. 运行部署脚本 ./deploy.sh ``` ### 方法二:手动部署 1. **构建项目** ```bash npm run build ``` 2. **上传文件到服务器** 将 `dist/` 目录下的所有文件上传到服务器的 `/data/www/emotion-museum/` 目录 3. **验证部署** 访问:http://101.200.208.45/emotion-museum/ ## 文件结构 部署后的服务器目录结构: ``` /data/www/emotion-museum/ ├── index.html ├── assets/ │ ├── index-S5x8WESs.js │ ├── vendor-BVOd_zCB.js │ ├── elementPlus-BChrtn-B.js │ ├── index-Cb6OR0c2.css │ └── ... (其他资源文件) ├── test-api.html ├── test-final-ws.html ├── test-message-api.html ├── test-native-ws.html └── test-simple-ws.html ``` ## NGINX配置 当前的NGINX配置已经正确,无需修改: ```nginx location /emotion-museum/ { try_files $uri $uri/ /emotion-museum/index.html; location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ { expires 1y; add_header Cache-Control "public, no-transform"; } } ``` ## 验证部署 部署完成后,访问以下地址验证: - 主页:http://101.200.208.45/emotion-museum/ - 聊天页面:http://101.200.208.45/emotion-museum/chat - 日记页面:http://101.200.208.45/emotion-museum/diary ## 注意事项 1. **静态资源路径**:现在所有静态资源都会正确引用 `/emotion-museum/assets/` 路径 2. **路由配置**:Vue Router已配置为使用 `/emotion-museum/` 作为base路径 3. **底部导航栏**:聊天页面现在包含底部导航栏,且不会遮挡输入框 4. **缓存清理**:如果遇到缓存问题,可以清理浏览器缓存或使用强制刷新(Ctrl+F5) ## 故障排除 如果仍然遇到404错误: 1. 检查服务器上的文件是否正确上传 2. 检查文件权限是否正确 3. 检查NGINX配置是否重新加载 4. 清理浏览器缓存