You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

213 lines
5.2 KiB

# 🚀 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**: 优化启动流程和错误处理