阅读(4583) 赞(4)

gfast 后端开发-项目结构

2022-03-25 15:49:53 更新
/
├── app   
│   ├── common
│   │    ├── adapter
│   │    ├── api
│   │    ├── dao
│   │    ├── service
│   │    ├── model
│   │    ├── ...
│   ├── system
│   │    ├── api
│   │    ├── dao
│   │    ├── service
│   │    ├── model
│   │    ├── router
│   │    ├── ...
│   └── other
├── boot
├── config
├── docker
├── document
├── i18n
├── library
├── packed
├── public
├── plugins
├── router
├── template
├── vendor
├── Dockerfile
├── go.mod
└── main.go
目录/文件名称 说明 描述
​app​ 业务逻辑层 所有的业务逻辑存放目录
​- api​ 业务接口 接收/解析用户输入参数的入口/接口层
​- model​ 数据模型 数据管理层,仅用于操作管理数据,如数据库操作
​- service​ 逻辑封装 业务逻辑封装层,实现特定的业务需求,可供不同的包调用
​boot​ 初始化包 用于项目初始化参数设置,往往作为main.go中第一个被import的包
​config​ 配置管理 所有的配置文件存放目录
​docker​ 镜像文件 Docker镜像相关依赖文件,脚本文件等等
​document​ 项目文档 Documentation项目文档,如:设计文档、帮助文档等等
​i18n​ I18N国际化 I18N国际化配置文件目录
​library​ 公共库包 公共的功能封装包,往往不包含业务需求实现
​packed​ 打包目录 将资源文件打包的Go文件存放在这里,boot包初始化时会自动调用
​public​ 静态目录 仅有该目录下的文件才能对外提供静态服务访问
​plugins​ 扩展目录 提供一些扩展功能
​router​ 路由注册 用于路由统一的注册管理
​template​ 模板文件 MVC模板文件存放的目录
​vendor​ 第三方包 第三方依赖包存放目录(可选,未来会被淘汰)
​Dockerfile​ 镜像描述 云原生时代用于编译生成Docker镜像的描述文件
​go.mod​ 依赖管理 使用Go Module包管理的依赖描述文件
​main.go​ 入口文件 程序入口文件

在实践中,小伙伴们可以根据实际情况增删目录。

注意:如果需要提供静态服务,那么所有静态文件都需要存放到public目录下,仅有该目录下的静态文件才能被外部直接访问。不推荐将程序当前运行目录加入到静态服务中。