一个现代化的全栈 Web 开发框架,基于 Connect RPC 构建,使用 Go 和 TypeScript 技术栈。专注于提供高性能、类型安全和开发者友好的开发体验。
-
🚀 高性能通信
- 基于 Connect RPC 的高效通信协议
- 支持 HTTP/2 和多种 RPC 模式
- 兼容 gRPC、gRPC-Web 和 Connect 协议
-
🛠 完整工具链
- Protocol Buffers 代码自动生成
- TypeScript 类型定义生成
- Connect RPC 客户端和服务端代码生成
- 内置开发工具和调试支持
-
🎯 企业级架构
- 模块化的服务设计
- 可扩展的中间件系统
- 结构化的日志系统
- 灵活的配置管理
-
🔒 安全性和可靠性
- 内置 CORS 支持
- 请求追踪和日志记录
- 错误处理和恢复机制
-
🎨 现代前端集成
- 智能的开发环境代理
- 生产环境静态文件服务
- SPA 路由自动支持
- 开发服务状态检测
- Go 1.21+
- Connect RPC (通信协议)
- Protocol Buffers (数据序列化)
- Echo (HTTP 框架)
- Zap (日志系统)
- Viper (配置管理)
- TypeScript
- React
- Connect-Web (RPC 客户端)
- Vite (构建工具)
- Go 1.21 或更高版本
- Node.js 20 或更高版本
- Protocol Buffers 编译器
- Buf CLI 工具
- 克隆项目:
git clone <repository-url>
cd css- 安装依赖:
# 后端依赖
go mod download
# 前端依赖
cd frontend
pnpm install- 生成代码:
buf generate- 启动后端服务:
go run backend serve- 启动前端开发服务器:
cd frontend
pnpm dev配置文件:config.yaml
env: development # 运行环境:development/production
server:
port: 21421 # 后端服务端口
host: 0.0.0.0 # 服务监听地址
frontend:
port: 21422 # 前端开发服务器端口
dist: ./dist # 前端构建输出目录
isSpa: true # 是否为单页应用
log:
level: info # 日志级别
format: text # 日志格式.
├── backend/ # 后端代码
│ ├── cmd/ # 命令行工具
│ ├── pkg/ # 公共包
│ │ ├── logger/ # 日志系统
│ │ └── util/ # 工具函数
│ ├── serve/ # HTTP 服务
│ └── service/ # 业务服务
├── frontend/ # 前端代码
├── proto/ # Protocol Buffers 定义
└── config.yaml # 配置文件
- 自动检测前端开发服务
- 智能请求代理
- 实时热重载
- 开发者友好的错误提示
- 高效的静态文件服务
- SPA 路由支持
- 优化的资源加载
- 完整的错误处理
- 在
proto/目录定义服务接口 - 使用
buf generate生成代码 - 在
backend/service/实现服务 - 在
backend/app.go注册服务
示例:
service ExampleService {
rpc Method(Request) returns (Response) {}
}# 后端构建
go build -o app backend/main.go
# 前端构建
cd frontend
pnpm build- 配置
config.yaml - 确保前端已构建
- 运行服务:
./app serveMIT License