Beego 框架入门篇:通过 Beego 提供的脚手架工具 Bee 快速创建 Web 项目

今天我要介绍的是 Beego 中的一个命令行工具:bee(类似 Laravel 框架中的 Artisan 命令,如果你使用过 Artisan 命令的话,可以很快上手),该工具主要提供了如下命令:

bee new  //生成一个新的beego项目
bee api //生成一个新的api项目,专门用作api接口使用
bee generate controller //生成控制器,不用自己创建controller文件
bee generate model //生成model文件
bee generate view //生成视图文件
bee dockerize //生成Dockerfile文件,方便以docker的方式运行
bee run //将项目运行起来,并且默认自动热编译,也就是修改golang的源码,会立马自动编译,并不需要手动每次自己go run

在开始后续操作之前,先要确保本地已经安装过 Go 开发环境,如果没有安装的话参考这篇入门教程安装,安装完成后在本地 ~/go 目录下创建一个 webproj 项目(以 GoLand 作为开发工具进行演示):

使用 GoLand 新建 Go 项目

然后设置项目的 GOPATH

在 GoLand 中设置 GOPATH

接下来打开 GoLand 的 Terminal,在该项目下安装 bee

go get github.com/beego/bee

安装 Bee 工具

如果按照过程中报错:

/usr/local/Cellar/go/1.10/libexec/pkg/tool/darwin_amd64/link: /usr/local/Cellar/go/1.10/libexec/pkg/tool/darwin_amd64/link: combining dwarf failed: Unknown load command 0x32 (50)

则需要升级 Go 版本,以 Mac 为例,可以通过如下方式升级:

brew upgrade go

注:其它方式安装的话,请按照对应的安装路径升级。

升级成功后,记得更新下 GoLand 中的 GOROOT 配置:

在 GoLand 中设置 GOROOT

再次运行 go get github.com/beego/bee 安装 bee

安装成功之后可以通过 bee version 验证是否安装成功:

bee version

接下来,我们通过 bee new 命令创建一个名字叫 testproj 的 Web 项目:

bee new testproj

使用 Bee 创建 web 项目

是不是很方便呢,如果需要自己手动创建这些基础的文件就会浪费不少时间了。

有时我们会有创建单纯的 API 项目的需求,bee 也是支持的,我们创建一个 testapi 项目试试:

bee api testapi

使用 Bee 创建 API 项目

这次并没有输出视图相关的模板文件了。

如果我们需要快速创建一个控制器文件或者模型类文件怎么办呢?bee 工具也提供了相应的命令,下面我们来生成一个名字叫 hello 的控制器:

cd ~/go/webproj/src/testproj
bee generate controller hello

使用 Bee 创建控制器

对应的文件位于 ~/go/webproj/src/testproj/controllers/hello.go

生成模型类与此类似,只不过参数不同而已,下面我们为 user 表生成对应的模型类:

bee generate model user -fields="id:int,name:string,age:int"

使用 Bee 创建模型类

对应生成的模型类位于 ~/go/webproj/src/testproj/models/user.go

当然,视图文件也是类似:

bee generate view hello

使用 Bee 创建视图

现在 Docker 非常流行了,bee 也可以自动为我们生成 Dockerfile 文件,省去了自己手写的烦恼:

bee dockerize

最后介绍一个我们在开发中都会用到的命令 bee run,该命令可用于运行我们刚刚创建的 Beego 项目,在运行该命令之前需要先安装 Beego 框架对应的包:

go get github.com/astaxie/beego

然后我们在 testproj 目录下运行这个命令:

bee run

使用 Bee 启动 Beego 项目

然后我们在浏览器访问 http://localhost:8080,即可看到默认的 Beego 欢迎首页:

在浏览器中访问Beego 默认欢迎页面

如果想知道更加详细的命令,执行 bee help,或者直接去看源码。

声明:本系列教程整理自「Go 语言研习社」Beego 系列,作者小白。Go 语言研习社是一个为初学者提供的、研究和学习 Go 语言的优质社群,你可以微信扫码下面的二维码免费加入:

Go 语言研习社

学院君 has written 1243 articles

Laravel学院院长,终身学习者

积分:167842 等级:P12 职业:手艺人 城市:杭州

0 条回复

登录后才能进行评论,立即登录?