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.

119 lines
3.1 KiB

2 weeks ago
# 🔥 GoFaster 热加载开发指南
## 概述
GoFaster 项目支持前后端热加载,修改代码后无需手动重启服务,大大提高开发效率。
## 🚀 快速启动
### 方式1:一键启动(推荐)
```bash
# 在项目根目录执行
./dev-full.ps1
```
这将同时启动前后端热加载服务。
### 方式2:分别启动
```bash
# 启动后端热加载
cd backend
./dev.ps1
# 启动前端热加载(新终端)
cd app
./dev-hot.ps1
```
## 🔧 热加载配置
### 后端 Go 热加载
- **工具**: `air` (Go 热加载工具)
- **配置文件**: `backend/.air.toml`
- **监听文件**: `.go`, `.tpl`, `.tmpl`, `.html`
- **排除目录**: `tmp`, `vendor`, `docs`, `testdata`
### 前端 Electron 热加载
- **工具**: `vue-cli-service` + `electron`
- **配置文件**: `app/vue.config.js`
- **监听文件**: `.vue`, `.js`, `.css`, `.html`
- **自动重载**: 代码修改后自动重新编译并重启 Electron
## 📁 文件结构
```
gofaster/
├── dev-full.ps1 # 一键启动脚本
├── backend/
│ ├── .air.toml # 后端热加载配置
│ ├── dev.bat # Windows 后端启动脚本
│ └── dev.ps1 # PowerShell 后端启动脚本
└── app/
├── dev-hot.bat # Windows 前端启动脚本
└── dev-hot.ps1 # PowerShell 前端启动脚本
```
## 🎯 使用场景
### 后端开发
1. 修改 Go 代码
2. 保存文件
3. `air` 自动检测变化
4. 自动重新编译并重启服务
5. 无需手动重启
### 前端开发
1. 修改 Vue 组件、样式或逻辑
2. 保存文件
3. `vue-cli-service` 自动重新编译
4. Electron 自动重载
5. 界面立即更新
## ⚡ 性能优化
### 后端优化
- 排除测试文件和文档目录
- 设置合理的重载延迟(1秒)
- 只监听必要的文件类型
### 前端优化
- 启用增量编译
- 排除不必要的文件监听
- 使用内存中的热重载
## 🐛 故障排除
### 后端热加载不工作
1. 检查 `air` 是否安装:`go version -m $(which air)`
2. 确认 `.air.toml` 配置正确
3. 检查文件权限和路径
### 前端热加载不工作
1. 确认 `npm run dev` 正常运行
2. 检查 `vue.config.js` 配置
3. 查看控制台错误信息
### 端口冲突
- 后端默认端口:8080
- 前端开发端口:3000
- 如遇冲突,修改相应配置文件
## 💡 开发技巧
1. **保持两个终端窗口**:一个运行后端,一个运行前端
2. **使用 VS Code 集成终端**:方便同时查看前后端日志
3. **合理使用日志**:热重载时日志会保留,便于调试
4. **测试验证码接口**:修改后端代码后,验证码接口会立即生效
## 🔄 热加载流程
```
修改代码 → 保存文件 → 自动检测 → 重新编译 → 重启服务 → 立即生效
```
## 📚 相关文档
- [Air 官方文档](https://github.com/air-verse/air)
- [Vue CLI 热重载](https://cli.vuejs.org/guide/cli-service.html#vue-cli-service-serve)
- [Electron 开发指南](https://www.electronjs.org/docs/tutorial/development)
---
**享受高效的开发体验!** 🎉