項目推薦:快速生成一個全棧 Web 項目
今天推薦的這個項目叫 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。