gfast 后端开发-项目结构
2022-04-02 12:00 更新
/
├── 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目录下,仅有该目录下的静态文件才能被外部直接访问。不推荐将程序当前运行目录加入到静态服务中。
以上内容是否对您有帮助:
更多建议: