2023-05-13 01:32:05 +08:00
|
|
|
|
# Go Viper App TMPL
|
|
|
|
|
这是一个符合 Viper 风格的 viper App 模版库,集成了 Gin 作为路由引擎(简单业务用它绰绰有余)
|
|
|
|
|
|
|
|
|
|
Q: 我会用它来干什么?
|
|
|
|
|
|
|
|
|
|
A: 复用曾经搭建的基础开发组件,快速实现集成 Web 的 app(受到一些开源项目的启发,包括但不限于:v2raya)
|
|
|
|
|
1. 强可移植性:gui 通过 web 实现,将 web 资源静态集成到 go 可执行文件
|
|
|
|
|
2. 极易部署:不需要额外启动 web 容器 / 进程,项目部署及其容器,不依赖 nginx 托管静态文件,小项目福音
|
|
|
|
|
3. 集成 viper:结构较为简单单仓库的微服务也可以使用
|
|
|
|
|
|
|
|
|
|
以上内容来自工作中需要,本项目总结自工作实操流水线经验,可以作为练习 go-web 基础开发、代码风格项目学习使用
|
2023-02-03 16:18:31 +08:00
|
|
|
|
|
|
|
|
|
# Motivation
|
|
|
|
|
|
2023-02-07 13:28:15 +08:00
|
|
|
|
> Go 生态搭建服务有一套可以复用的简单组件,主要是 Viper / Crabon 和 Zap ,程序入口和日志。
|
2023-02-03 16:18:31 +08:00
|
|
|
|
|
|
|
|
|
- Viper 项目配置 & 序列化工具
|
|
|
|
|
- Crabon 命令行交互
|
|
|
|
|
- Zap 日志框架
|
2023-05-13 01:32:05 +08:00
|
|
|
|
- Gin 的拓展用法(集成 web 和 swag)
|
2023-02-03 16:18:31 +08:00
|
|
|
|
- 本仓库附带 single app 内置的 web(gui) 编译支持,提供维护。
|
|
|
|
|
|
2023-05-13 01:32:05 +08:00
|
|
|
|
可以直接用本仓库在此基础上快速开发业务产品
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
本仓库维护最小化可以执行的程序,具体请参考本仓库 makefile
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
# 最小化编译
|
|
|
|
|
make build
|
|
|
|
|
|
|
|
|
|
# swag 文档支持
|
|
|
|
|
make swag-install
|
|
|
|
|
|
|
|
|
|
# 为项目建立 api 文档
|
|
|
|
|
make swag
|
|
|
|
|
|
|
|
|
|
# dev 默认开启 web 和 swag 文档编译
|
|
|
|
|
make dev
|
|
|
|
|
```
|
|
|
|
|
|