Nunu脚手架: 助你快速构建高效可靠的Go应用

2023-07-0216:50:09后端程序开发Comments1,174 views字数 2622阅读模式
Nunu脚手架: 助你快速构建高效可靠的Go应用

Nunu 是一个基于 Golang 的应用脚手架,它的名字来自于英雄联盟中的游戏角色,一个骑在雪怪肩膀上的小男孩。和努努一样,该项目也是站在巨人的肩膀上,它是由 Golang 生态中各种非常流行的库整合而成的,它们的组合可以帮助你快速构建一个高效、可靠的应用程序。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/49354.html

项目主页:https://github.com/go-nunu/nunu文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/49354.html

功能

Nunu 采用了多种流行的库,包括 Gin、Gorm、Wire、Viper、Zap、Golang-jwt、Go-redis、Testify、Sonyflake、robfig-cron 等等。这些库的组合可以帮助你快速构建一个高效、可靠的应用程序。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/49354.html

特性

Nunu 具有以下特性:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/49354.html

  • 超低学习成本和定制:Nunu 封装了 Gopher 最熟悉的一些流行库。你可以轻松定制应用程序以满足特定需求。
  • 高性能和可扩展性:Nunu 旨在具有高性能和可扩展性。它使用最新的技术和最佳实践,确保你的应用程序可以处理高流量和大量数据。
  • 安全可靠:Nunu 使用了稳定可靠的第三方库,确保你的应用程序安全可靠。
  • 模块化和可扩展:Nunu 旨在具有模块化和可扩展性。你可以通过使用第三方库或编写自己的模块轻松添加新功能和功能。
  • 文档完善和测试完备:Nunu 文档完善,测试完备。它提供了全面的文档和示例,帮助你快速入门。它还包括一套测试套件,确保你的应用程序按预期工作。

简洁分层架构

Nunu 采用了经典的分层架构。同时,为了更好地实现模块化和解耦,采用了依赖注入框架 Wire。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/49354.html

Nunu脚手架: 助你快速构建高效可靠的Go应用文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/49354.html

文档

Nunu 提供了全面的文档和示例,帮助你快速入门。它还包括一套测试套件,确保你的应用程序按预期工作。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/49354.html

要求

要使用 Nunu,你需要在系统上安装以下软件:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/49354.html

  • Golang 1.16 或更高版本
  • Git
  • MySQL 5.7 或更高版本(可选)
  • Redis(可选)

安装

你可以通过一行命令安装 Nunu:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/49354.html

go install github.com/go-nunu/nunu@latest
Nunu脚手架: 助你快速构建高效可靠的Go应用

创建新项目

你可以使用以下命令创建一个新的 Golang 项目:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/49354.html

nunu new projectName

// or

nunu new projectName -r https://github.com/go-nunu/nunu-layout-advanced.git

效果预览:Nunu脚手架: 助你快速构建高效可靠的Go应用文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/49354.html

此命令将创建一个名为 projectName 的目录,并在其中生成一个优雅的 Golang 项目结构。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/49354.html

.
├── 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 项目的目录结构,包含以下目录:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/49354.html

  • 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 等组件:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/49354.html

nunu create handler user
nunu create service user
nunu create dao user
nunu create model user

这些命令将分别创建一个名为 UserHandlerUserServiceUserDao 和 UserModel 的组件,并将它们放置在正确的目录中。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/49354.html

启动项目

你可以使用以下命令快速启动项目:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/49354.html

nunu run

此命令将启动你的 Golang 项目,并支持文件更新热重启。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/49354.html

编译 wire.go

你可以使用以下命令快速编译 wire.go文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/49354.html

nunu wire

此命令将编译你的 wire.go 文件,并生成所需的依赖项。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/49354.html

贡献

如果你发现任何问题或有任何改进意见,请随时提出问题或提交拉取请求。非常欢迎你的贡献!文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/49354.html

许可证

Nunu 是根据 MIT 许可证发布的。有关更多信息,请参见 LICENSE 文件。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/49354.html

总之,Nunu 是一个非常优秀的 Golang 应用脚手架,它可以帮助你快速构建高效、可靠的应用程序。如果你正在寻找一个优秀的 Golang 应用脚手架,那么 Nunu 绝对是你的不二选择!文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/49354.html

  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/bc/49354.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定