goxygen:秒速生成一个全栈 Web 项目(Go,Angular/React/Vue)

分分钟生成一个全栈Web项目(Go,Angular/React/Vue)。

Goxygen致力于节省你搭建一个项目的时间。它自动生成一个完全配置好的项目骨架,以方便你可以立即着手实现你的业务逻辑。Goxygen生产后端的Go代码,并将其与前端组件相连,并且为生成的项目提供Dockerfile和docker-compose文件,以便项目在开发环境和生产环境快速运行起来。

支持的底层技术
1. 前端框架 Angular React Vue
2. 后端语言 Go
3. 数据库 MongoDB MySQL PostgreSQL

项目依赖的库:

你需要安装Go 1.11或者更新的版本。

环境变量 GO111MODULE 要等于 auto,以支持代码生成逻辑的正常执行。 如果你的golang版本是1.15,则环境变量 GO111MODULE  已经等于auto;如果你的golang版本大于等于1.16,则必须执行命令设置环境变量:

export GO111MODULE=auto

如何使用

go get -u github.com/shpota/goxygen
go run github.com/shpota/goxygen init my-app

这会在你的 my-app 目录下生成一个项目。

若未指定数据库和前端库,则它默认使用 React 作为前端语言,默认用 MongoDB 作为数据库。你可以用 --frontend 和 --db 参数具体指定前端库、数据库。例如,以下示例命令将用Vue作为前端语言,使用PostgreSQL作为数据库:

go run github.com/shpota/goxygen init --frontend vue --db postgres my-app

注意:参数 --frontend 支持 angular 或 react 或 vue。参数 --db 支持输入 mongo 或 mysql 或 postgres

这个项目也支持 docker-compose来运行:

cd my-app
docker-compose up

build完成之后,就可以在 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

如何贡献

如果你发现了bug或者对于如果改进项目有新的想法,请提交一个issue,我们会尽快解决。

你也可以直接Pull Request来提交你的修改。Fork这个项目,作出修改之后,发起一个Pull Request,我们会很快review它。

感谢

Goxygen的logo是由Egon Elbre创作的。

版权声明:本文《goxygen:秒速生成一个全栈 Web 项目(Go,Angular/React/Vue)》为「linux名库」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。联系方式osschina@qq.com
 
Leave a Reply 0

Your email address will not be published. Required fields are marked *


加好友请备注:linuxlibs
您可以在微信公众号联系我们
您可以通过邮件联系我们
我们将24小时内回复。
取消