Back to Weknora

快速开发模式说明

docs/快速开发模式说明.md

0.5.15.0 KB
Original Source

快速开发模式说明

解决开发流程中,每次修改 app(后端)或 frontend(前端)代码后,都需要打包Docker镜像的问题,实现这两个模块的热更新

🚀 使用方法

方式 1:使用 Make 命令(推荐)

bash
# 终端 1:启动基础设施
make dev-start

# 终端 2:启动后端
make dev-app

# 终端 3:启动前端
make dev-frontend

方式 2:使用开发脚本

bash
# 终端 1
./scripts/dev.sh start

# 终端 2
./scripts/dev.sh app

# 终端 3
./scripts/dev.sh frontend

方式 3:一键启动(交互式)

bash
./scripts/quick-dev.sh

使用 Air 实现后端热重载

安装 Air 后,后端代码修改会自动重新编译和重启:

bash
# 安装 Air
go install github.com/air-verse/air@latest

# 确保在 PATH 中
export PATH=$PATH:$(go env GOPATH)/bin

# 使用 Air 启动(自动检测)
make dev-app

🔄 架构说明

开发模式架构

┌─────────────────────────────────────────────────────────┐
│                       本地开发环境                        │
├─────────────────────────────────────────────────────────┤
│                                                         │
│  ┌──────────┐         ┌──────────┐                     │
│  │ 后端 App │◄────────┤ 前端 UI  │                     │
│  │ (本地运行)│         │ (本地运行)│                     │
│  │  :8080   │         │  :5173   │                     │
│  └────┬─────┘         └──────────┘                     │
│       │                                                 │
│       │ 连接基础设施服务                                  │
│       ▼                                                 │
│  ┌─────────────────────────────────────────────────┐   │
│  │        Docker 基础设施容器                        │   │
│  ├─────────────────────────────────────────────────┤   │
│  │ PostgreSQL │ Redis │ MinIO │ Neo4j │ DocReader │   │
│  │   :5432    │ :6379 │ :9000 │ :7687 │  :50051   │   │
│  └─────────────────────────────────────────────────┘   │
│                                                         │
└─────────────────────────────────────────────────────────┘

生产模式架构

┌─────────────────────────────────────────────────────────┐
│                    Docker Compose 环境                   │
├─────────────────────────────────────────────────────────┤
│                                                         │
│  ┌──────────┐         ┌──────────┐                     │
│  │ 后端 App │◄────────┤ 前端 UI  │                     │
│  │ (容器运行)│         │ (容器运行)│                     │
│  │  :8080   │         │   :80    │                     │
│  └────┬─────┘         └──────────┘                     │
│       │                                                 │
│       ▼                                                 │
│  ┌─────────────────────────────────────────────────┐   │
│  │              基础设施容器                          │   │
│  ├─────────────────────────────────────────────────┤   │
│  │ PostgreSQL │ Redis │ MinIO │ Neo4j │ DocReader │   │
│  └─────────────────────────────────────────────────┘   │
│                                                         │
└─────────────────────────────────────────────────────────┘