今天推荐的这个项目叫 Goxygen,项目地址:https://github.com/Shpota/goxygen,Star 数:2k。
Goxygen 致力于节省你搭建一个项目的时间。它自动生成一个完全配置好的项目骨架,以方便你可以立即着手实现你的业务逻辑。Goxygen 生产后端的 Go 代码,并将其与前端组件相连,并且为生成的项目提供 Dockerfile 和 docker-compose 文件,以便项目在开发环境和生产环境快速运行起来。
支持的技术:
Supported Technologies
Front EndAngularReactBack EndGo
DatabaseMongoDBMySQL
简单使用
注意,请使用 Go1.11+。
- go get -u github.com/shpota/goxygen
- go run github.com/shpota/goxygen init my-app
这会在你的 my-app 目录下生成一个项目。
这个项目已经可以用 docker-compose 来运行了:
- cd my-app
- docker-compose up
之后,就可以在 http://localhost:8080 查看你的 Web 项目了。
你可以在生成的项目里的 README 里查看更多细节信息。
生成的项目的结构 (基于 React/MongoDB 的项目)。
- my-app
- ├── server # Go项目文件
- │ ├── db # MongoDB通信
- │ ├── model # 领域对象
- │ ├── web # REST APIs, web server
- │ ├── server.go # 后端入口
- │ └── go.mod # 后端依赖
- ├── webapp
- │ ├── public # icons, static files, 和 index.html
- │ ├── src
- │ │ ├── App.js # React main组件
- │ │ ├── App.css # App组件样式
- │ │ ├── index.js # 前端应用入口
- │ │ └── index.css # 全局样式
- │ ├── package.json # 前端依赖
- │ ├── .env.development # 包含开发环境的API endpoint
- │ └── .env.production # 包含生产环境的API endpoint
- ├── Dockerfile # 前后端build Dockerfile
- ├── docker-compose.yml # 生产环境的docker-compose
- ├── docker-compose-dev.yml # 开发使用的docker-compose
- ├── init-db.js # 创建一个 MongoDB collection,并写入测试数据
- ├── .dockerignore # 指明Docker build的时候要忽略的文件
- ├── .gitignore
- └── README.md # 如何使用生成repo的教程
注意 Goxygen 只是为你生成一个项目的基本框架,但不强迫你使用任何特定的工具。它不会为你的项目添加任何不必要的依赖,仅有的依赖只有后端的 database driver 和前端的 axios。