Create Go App CLI 一款快速创建Golang项目的工具

背景

如果你和我一样有丰富的 PHP 项目经验,可能已经习惯了使用命令行工具来快速创建项目,比如用 laravel new example-app 这个命令几秒钟就能生成一个完整的 Laravel 项目。然而,当你转向 Golang 开发时,可能会觉得起步稍显繁琐,需要自己手动整理目录结构和配置文件。这种时候,我会想:要是 Golang 也有类似的工具该多好啊!于是,我翻遍了 GitHub,最终找到了一个可以解决这个问题的工具,它就是——Create Go App CLI。

工具介绍

Create Go App CLI 是一个极其方便的工具,只需要运行一个简单的命令,就可以生成一个包括后端(Golang)、前端(JavaScript、TypeScript)以及自动化部署(Ansible、Docker)配置的生产就绪项目。你不再需要为设置项目基础架构而发愁,Create Go App CLI 已经为你做好了这一切。

创建项目的效果展示

选择后端框架时,你可以看到类似下图的选项界面:

接着,你可以选择前端框架或库的扩展:

最后,还可以选择 Web 服务器或代理服务器:

项目结构:

假设我们选择了 chi 作为后端框架,生成的项目目录结构大致如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
├── Makefile
├── backend
│   ├── Dockerfile
│   ├── LICENSE
│   ├── Makefile
│   ├── README.md
│   ├── api_test.http
│   ├── cmd
│   │   └── run.go
│   ├── go.mod
│   ├── go.sum
│   ├── internal
│   │   ├── config
│   │   │   └── config.go
│   │   └── router
│   │   ├── healthcheck
│   │   │   ├── handlers.go
│   │   │   └── routes.go
│   │   └── router.go
│   └── main.go
├── frontend
│   ├── README.md
│   ├── index.html
│   ├── package.json
│   ├── public
│   │   └── vite.svg
│   ├── src
│   │   ├── App.vue
│   │   ├── assets
│   │   │   └── vue.svg
│   │   ├── components
│   │   │   └── HelloWorld.vue
│   │   ├── main.js
│   │   └── style.css
│   └── vite.config.js
├── hosts.ini
├── playbook.yml
└── roles
├── backend
│   └── tasks
│   └── main.yml
├── docker
│   └── tasks
│   └── main.yml
├── postgres
│   └── tasks
│   └── main.yml
└── redis
└── tasks
└── main.yml

可以看到,生成的项目不仅包含了后端的 Golang 代码,还集成了前端框架的配置文件和自动化部署的脚本,几乎涵盖了一个生产环境中所需的所有内容。

安装方法

  • go install 安装
1
go install github.com/create-go-app/cli/v4/cmd/cgapp@latest
  • homebrew 安装:
1
2
3
4
5
6
# Tap a new formula:
brew tap create-go-app/tap

# Installation:
brew install create-go-app/tap/cgapp

使用指南

安装完成后,你就可以在命令行里直接创建项目了。以下是一个简单的使用示例:

1
2
3
4
5

mkdir web # 创建一个项目的目录
cd web
cgapp create # 就可以在web目录夏创建了

在生成的项目目录中,你会发现一个 hosts.ini 文件,稍作修改后,你就可以直接将项目部署到服务器上了。

支持的后端框架

Create Go App CLI 提供了三种 Golang 后端框架的支持:

支持的前端框架

CLI 工具支持多种前端框架或库,如下所示:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[?] Choose a frontend framework/library:  [Use arrows to move, type to filter, ? for more help]
> none
vanilla
vanilla-ts
react
react-ts
react-swc
react-swc-ts
preact
preact-ts
next
next-ts
nuxt
vue
vue-ts
svelte
svelte-ts
solid
solid-ts
lit
lit-ts
qwik

个人建议:Vue 是个不错的选择,尤其适合构建现代化的 Web 应用。

项目配置

生成的项目自带 .env.example 配置文件。你只需要把这个文件复制并重命名为 .env,然后稍作配置就可以直接运行项目了。

总结

Create Go App CLI 是一个为 Golang 项目开发者量身定制的利器,不仅简化了项目的创建过程,还提供了多种选择和配置,使得从后端到前端、从开发到部署都变得更加高效。如果你希望快速构建一个功能全面的 Golang 项目,这个工具绝对值得一试。

更多功能和详细使用说明,可以参考官方的 Wiki,里面有更丰富的内容供你探索。

1
2
3
4
wiki 地址:

https://github.com/create-go-app/cli