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.
5.2 KiB
5.2 KiB
🚀 GoFaster 增强版全栈开发环境
📋 功能特性
本增强版全栈开发环境集成了所有优化功能:
1. 编码优化
- ✅ UTF-8 编码支持
- ✅ 中文显示无乱码
- ✅ PowerShell 编码配置
2. 日志增强
- ✅ 详细构建日志
- ✅ 进度条显示
- ✅ 错误详情展示
- ✅ 实时状态监控
3. 智能依赖管理
- ✅ 自动检查前端依赖
- ✅ 自动安装 cross-env
- ✅ 自动检查后端依赖
- ✅ 自动安装 air 工具
4. 灵活启动模式
- ✅ 全栈启动(前后端)
- ✅ 仅启动后端
- ✅ 仅启动前端
- ✅ 调试模式
- ✅ 监听模式
🛠️ 使用方法
方法 1: 从根目录启动(推荐)
# 全栈启动(标准模式)
.\dev-full.ps1
# 全栈启动(调试模式)
.\dev-full.ps1 -Debug
# 全栈启动(监听模式)
.\dev-full.ps1 -Watch
# 仅启动后端
.\dev-full.ps1 -BackendOnly
# 仅启动前端
.\dev-full.ps1 -FrontendOnly
方法 2: 从前端目录启动
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: 单独启动服务
# 前端增强版
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 # 后端主程序
🚀 启动流程
全栈启动流程
- 环境检查:设置编码、环境变量
- 依赖检查:检查前端和后端依赖
- 后端启动:启动 Go 服务 + Air 热重载
- 状态检查:验证后端启动状态
- 前端启动:启动 Electron + Vue 热重载
- 完成提示:显示服务信息和进程管理命令
启动参数说明
参数 | 说明 | 示例 |
---|---|---|
-Debug |
启用调试模式,显示详细日志 | .\dev-full.ps1 -Debug |
-Watch |
启用监听模式,自动重载 | .\dev-full.ps1 -Watch |
-BackendOnly |
仅启动后端服务 | .\dev-full.ps1 -BackendOnly |
-FrontendOnly |
仅启动前端服务 | .\dev-full.ps1 -FrontendOnly |
🔍 监控和管理
进程信息
启动完成后会显示:
- 后端进程 ID (PID)
- 前端进程 ID (PID)
- 进程管理命令
进程管理命令
# 停止后端
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 环境
- 确保在正确的目录下运行
调试技巧
- 使用调试模式:
.\dev-full.ps1 -Debug
- 查看进程状态:
Get-Process | Where-Object {$_.ProcessName -eq 'powershell'}
- 检查端口占用:
netstat -ano | findstr :8080
- 查看日志文件:检查各服务的日志输出
💡 最佳实践
- 推荐使用全栈启动:
.\dev-full.ps1
- 开发时使用监听模式:
.\dev-full.ps1 -Watch
- 调试时使用调试模式:
.\dev-full.ps1 -Debug
- 定期清理进程:避免端口冲突
- 保持依赖更新:定期运行
npm update
🔄 更新日志
- v2.0.0: 集成所有增强功能
- v2.1.0: 添加智能依赖管理
- v2.2.0: 增强进程管理和监控
- v2.3.0: 优化启动流程和错误处理