Nunu 是一个基于 Golang 的利用脚手架,它的名字来自于英雄联盟中的游戏角色,一个骑在雪怪肩膀上的小男孩。和努努一样,该我的项目也是 站在伟人的肩膀上,它是由 Golang 生态中各种十分风行的库整合而成的,它们的组合能够帮忙你疾速构建一个高效、牢靠的应用程序。
我的项目主页:https://github.com/go-nunu/nunu
性能
Nunu 采纳了多种风行的库,包含 Gin、Gorm、Wire、Viper、Zap、Golang-jwt、Go-redis、Testify、Sonyflake、robfig-cron 等等。这些库的组合能够帮忙你疾速构建一个高效、牢靠的应用程序。
个性
Nunu 具备以下个性:
- 超低学习老本和定制:Nunu 封装了 Gopher 最相熟的一些风行库。你能够轻松定制应用程序以满足特定需要。
- 高性能和可扩展性:Nunu 旨在具备高性能和可扩展性。它应用最新的技术和最佳实际,确保你的应用程序能够解决高流量和大量数据。
- 安全可靠:Nunu 应用了稳固牢靠的第三方库,确保你的应用程序安全可靠。
- 模块化和可扩大:Nunu 旨在具备模块化和可扩展性。你能够通过应用第三方库或编写本人的模块轻松增加新性能和性能。
- 文档欠缺和测试齐备:Nunu 文档欠缺,测试齐备。它提供了全面的文档和示例,帮忙你疾速入门。它还包含一套测试套件,确保你的应用程序按预期工作。
简洁分层架构
Nunu 采纳了经典的分层架构。同时,为了更好地实现模块化和解耦,采纳了依赖注入框架 Wire。
文档
Nunu 提供了全面的文档和示例,帮忙你疾速入门。它还包含一套测试套件,确保你的应用程序按预期工作。
要求
要应用 Nunu,你须要在零碎上装置以下软件:
- Golang 1.16 或更高版本
- Git
- MySQL 5.7 或更高版本(可选)
- Redis(可选)
装置
你能够通过一行命令装置 Nunu:
go install github.com/go-nunu/nunu@latest
创立新我的项目
你能够应用以下命令创立一个新的 Golang 我的项目:
nunu new projectName
// or
nunu new projectName -r https://github.com/go-nunu/nunu-layout-advanced.git
成果预览:
此命令将创立一个名为 projectName
的目录,并在其中生成一个优雅的 Golang 我的项目构造。
.
├── cmd
│ ├── job
│ ├── migration
│ └── server
│ ├── wire
│ │ ├── wire.go
│ │ └── wire_gen.go
│ └── main.go
├── config
│ ├── local.yml
│ └── prod.yml
├── deploy
├── internal
│ ├── dao
│ │ ├── dao.go
│ │ └── user.go
│ ├── handler
│ │ ├── handler.go
│ │ └── user.go
│ ├── job
│ │ └── job.go
│ ├── middleware
│ │ ├── cors.go
│ │ ├── jwt.go
│ │ ├── log.go
│ │ └── sign.go
│ ├── migration
│ │ └── migration.go
│ ├── model
│ │ └── user.go
│ ├── provider
│ │ └── provider.go
│ ├── server
│ │ └── http.go
│ └── service
│ ├── service.go
│ └── user.go
├── pkg
│ ├── config
│ ├── helper
│ ├── http
│ └── log
├── script
├── storage
├── test
├── web
├── LICENSE
├── README.md
├── README_zh.md
├── go.mod
└── go.sum
这是一个经典的 Golang 我的项目的目录构造,蕴含以下目录:
cmd
:寄存命令行利用的代码,例如main.go
。config
:寄存配置文件,例如config.yaml
。-
internal
:寄存我的项目外部的代码,不对外裸露。dao
:存放数据拜访对象(Data Access Object)的代码。handler
:寄存 HTTP 申请处理器的代码。middleware
:寄存 HTTP 中间件的代码。model
:存放数据模型的代码。provider
:寄存依赖注入的代码。server
:寄存 HTTP 服务器以及路由注册的代码。service
:寄存业务逻辑的代码。
-
pkg
:寄存可重用的代码,对外裸露。config
:寄存读取配置文件的代码。helper
:寄存辅助函数的代码。http
:寄存 HTTP 相干的代码。log
:寄存日志相干的代码。
创立组件
你能够应用以下命令为我的项目创立 handler、service 和 dao 等组件:
nunu create handler user
nunu create service user
nunu create dao user
nunu create model user
这些命令将别离创立一个名为 UserHandler
、UserService
、UserDao
和 UserModel
的组件,并将它们搁置在正确的目录中。
启动我的项目
你能够应用以下命令疾速启动我的项目:
nunu run
此命令将启动你的 Golang 我的项目,并反对文件更新热重启。
编译 wire.go
你能够应用以下命令疾速编译 wire.go
:
nunu wire
此命令将编译你的 wire.go
文件,并生成所需的依赖项。
奉献
如果你发现任何问题或有任何改良意见,请随时提出问题或提交拉取申请。十分欢送你的奉献!
许可证
Nunu 是依据 MIT 许可证公布的。无关更多信息,请参见 LICENSE 文件。
总之,Nunu 是一个十分优良的 Golang 利用脚手架,它能够帮忙你疾速构建高效、牢靠的应用程序。如果你正在寻找一个优良的 Golang 利用脚手架,那么 Nunu 相对是你的不二抉择!