# 🚀 GoFaster 增强版全栈开发环境 ## 📋 功能特性 本增强版全栈开发环境集成了所有优化功能: ### **1. 编码优化** - ✅ UTF-8 编码支持 - ✅ 中文显示无乱码 - ✅ PowerShell 编码配置 ### **2. 日志增强** - ✅ 详细构建日志 - ✅ 进度条显示 - ✅ 错误详情展示 - ✅ 实时状态监控 ### **3. 智能依赖管理** - ✅ 自动检查前端依赖 - ✅ 自动安装 cross-env - ✅ 自动检查后端依赖 - ✅ 自动安装 air 工具 ### **4. 灵活启动模式** - ✅ 全栈启动(前后端) - ✅ 仅启动后端 - ✅ 仅启动前端 - ✅ 调试模式 - ✅ 监听模式 ## 🛠️ 使用方法 ### **方法 1: 从根目录启动(推荐)** ```powershell # 全栈启动(标准模式) .\dev-full.ps1 # 全栈启动(调试模式) .\dev-full.ps1 -Debug # 全栈启动(监听模式) .\dev-full.ps1 -Watch # 仅启动后端 .\dev-full.ps1 -BackendOnly # 仅启动前端 .\dev-full.ps1 -FrontendOnly ``` ### **方法 2: 从前端目录启动** ```bash cd app # 全栈启动(标准模式) npm run dev:full # 全栈启动(调试模式) npm run dev:full-debug # 全栈启动(监听模式) npm run dev:full-watch # 仅启动后端 npm run dev:backend-only # 仅启动前端 npm run dev:frontend-only ``` ### **方法 3: 单独启动服务** ```bash # 前端增强版 npm run dev:enhanced # 前端调试版 npm run dev:debug # 后端热重载 cd backend air ``` ## 🔧 新增功能详解 ### **1. 智能依赖检查** - 自动检查 `node_modules` 是否存在 - 自动安装缺失的依赖 - 自动安装 `cross-env` 工具 - 自动检查并安装 `air` 工具 ### **2. 进程管理** - 显示每个服务的进程 ID (PID) - 提供进程管理命令 - 智能启动顺序(先后端,后前端) - 启动状态检查 ### **3. 环境配置** - 自动设置 UTF-8 编码 - 配置 Vue CLI 环境变量 - 设置 Node.js 内存选项 - 配置日志级别 ### **4. 错误处理** - 友好的错误提示 - 详细的故障排除建议 - 状态码检查 - 启动失败处理 ## 📁 文件结构 ``` gofaster/ ├── dev-full.ps1 # 增强版全栈启动脚本 ├── app/ │ ├── dev-enhanced.ps1 # 前端增强启动脚本 │ ├── dev-enhanced.bat # 前端批处理脚本 │ ├── .npmrc # npm 配置文件 │ ├── vue.config.js # Vue CLI 增强配置 │ └── package.json # 包含新脚本的包配置 └── backend/ ├── .air.toml # Air 热重载配置 └── main.go # 后端主程序 ``` ## 🚀 启动流程 ### **全栈启动流程** 1. **环境检查**:设置编码、环境变量 2. **依赖检查**:检查前端和后端依赖 3. **后端启动**:启动 Go 服务 + Air 热重载 4. **状态检查**:验证后端启动状态 5. **前端启动**:启动 Electron + Vue 热重载 6. **完成提示**:显示服务信息和进程管理命令 ### **启动参数说明** | 参数 | 说明 | 示例 | |------|------|------| | `-Debug` | 启用调试模式,显示详细日志 | `.\dev-full.ps1 -Debug` | | `-Watch` | 启用监听模式,自动重载 | `.\dev-full.ps1 -Watch` | | `-BackendOnly` | 仅启动后端服务 | `.\dev-full.ps1 -BackendOnly` | | `-FrontendOnly` | 仅启动前端服务 | `.\dev-full.ps1 -FrontendOnly` | ## 🔍 监控和管理 ### **进程信息** 启动完成后会显示: - 后端进程 ID (PID) - 前端进程 ID (PID) - 进程管理命令 ### **进程管理命令** ```powershell # 停止后端 Stop-Process -Id <后端PID> # 停止前端 Stop-Process -Id <前端PID> # 停止所有服务 Get-Process | Where-Object {$_.ProcessName -eq 'powershell'} | Stop-Process ``` ### **服务状态检查** - 后端健康检查:`http://localhost:8080/health` - Swagger 文档:`http://localhost:8080/swagger/index.html` - 前端应用:Electron 窗口自动打开 ## 🚨 故障排除 ### **常见问题** #### **1. 编码问题** - 确保使用 PowerShell 或 CMD - 检查系统区域设置 - 使用 `-Debug` 参数查看详细日志 #### **2. 依赖问题** - 脚本会自动检查和安装依赖 - 如果失败,手动运行 `npm install` - 检查 Node.js 版本 (推荐 v16+) #### **3. 端口冲突** - 检查 8080 端口是否被占用 - 检查 3000 端口是否被占用 - 使用 `netstat -ano | findstr :8080` 查看 #### **4. 启动失败** - 查看详细错误日志 - 检查 Go 和 Node.js 环境 - 确保在正确的目录下运行 ### **调试技巧** 1. **使用调试模式**:`.\dev-full.ps1 -Debug` 2. **查看进程状态**:`Get-Process | Where-Object {$_.ProcessName -eq 'powershell'}` 3. **检查端口占用**:`netstat -ano | findstr :8080` 4. **查看日志文件**:检查各服务的日志输出 ## 💡 最佳实践 1. **推荐使用全栈启动**:`.\dev-full.ps1` 2. **开发时使用监听模式**:`.\dev-full.ps1 -Watch` 3. **调试时使用调试模式**:`.\dev-full.ps1 -Debug` 4. **定期清理进程**:避免端口冲突 5. **保持依赖更新**:定期运行 `npm update` ## 🔄 更新日志 - **v2.0.0**: 集成所有增强功能 - **v2.1.0**: 添加智能依赖管理 - **v2.2.0**: 增强进程管理和监控 - **v2.3.0**: 优化启动流程和错误处理