开发指南
开发指南
开发环境搭建和前后端联调指南
项目架构
by ExcaliDraw
开发指南
后端环境要求
📌 Go 1.25.1+
📌 C 编译器
使用 go-sqlite3 等需要 CGO 的库时,需安装:
- Windows:
- MinGW-w64
- 解压后将bin目录添加到PATH
- macOS:
brew install gcc - Linux:
sudo apt install build-essential
📌 Google Wire
安装wire用于依赖注入文件生成:
go install github.com/google/wire/cmd/wire@latest
📌 Golangci-Lint
安装Golangci-Lint用于lint和fmt:
- 在项目根目录下执行
golangci-lint run进行lint - 在项目根目录下执行
golangci-lint fmt进行格式化
📌 Swagger
安装Swagger用于生成和使用符合OpenAPI规范的接口文档
- 在项目根目录下执行
swag init -g internal/server/server.go -o internal/swagger后生成或更新swagger文档 - 打开浏览器访问
http://localhost:6277/swagger/index.html查看和使用swagger文档
前端环境要求
📌 NodeJS v24.5.0+, PNPM v10.17.1+
注:如需要多个nodejs版本共存可使用fnm进行管理
启动前后端联调
第一步: 后端(在 Ech0 根目录下):
go run main.go # 编译并启动后端如果依赖注入关系发生了变化先需要在
ech0/internal/di/下执行wire命令生成新的wire_gen.go文件
第二步: 前端(新终端):
cd web # 进入前端目录
pnpm install # 如果没有安装依赖则执行
pnpm dev # 启动前端预览第三步: 前后端启动后访问:
前端预览: http://localhost:5173 (端口在启动后可在控制台查看)
后端预览: http://localhost:6277 (默认后端端口为6277)
对使用层次化架构的包进行导入时,请使用规范的 alias 命名:
model 层:xxxModel
util 层:xxxUtil
handler 层:xxxHandler
service 层:xxxService
repository 层:xxxRepository