安装 GO
打开官网:https://golang.org/ 或 https://studygolang.com/dl 可下载安装,如果是 Windows 系统可以直接下载安装包。
安装完成后在系统环境变量可看到 GOPATH ,可以将这个路径改为自己喜欢的位置,GO 下载的模块都会存放在这个路径。
安装 Beego
官网:beego.me
执行命令:
go get github.com/astaxie/beego
安装 Bee 工具:
go get github.com/beego/bee
将 GOPATH 下的 bin 目录放入 PATH 环境变量,例如博主的路径是:E:\soft\GOPATH\bin
此时打开命令行工具执行:
bee
会返回:
Bee is a Fast and Flexible tool for managing your Beego Web Application. USAGE bee command [arguments] AVAILABLE COMMANDS version Prints the current Bee version migrate Runs database migrations api Creates a Beego API application bale Transforms non-Go files to Go source files fix Fixes your application by making it compatible with newer versions of Beego pro Source code generator dlv Start a debugging session using Delve dockerize Generates a Dockerfile for your Beego application generate Source code generator hprose Creates an RPC application based on Hprose and Beego frameworks new Creates a Beego application pack Compresses a Beego application into a single file rs Run customized scripts run Run the application by starting a local development server server serving static content over HTTP on port Use bee help [command] for more information about a command. ADDITIONAL HELP TOPICS Use bee help [topic] for more information about that topic.
说明 Beego 安装完成。
创建一个应用
执行:
bee new blog
即可创建一个应用,此应用存放于 GOPATH 下的 bin 目录,使用 cd 目录到 blog 目录再次执行:
bee run
返回:
______ | ___ \ | |_/ / ___ ___ | ___ \ / _ \ / _ \ | |_/ /| __/| __/ \____/ \___| \___| v1.11.0 2020/11/04 13:30:45 WARN ▶ 0001 Running application outside of GOPATH 2020/11/04 13:30:45 INFO ▶ 0002 Using 'blog' as 'appname' 2020/11/04 13:30:45 INFO ▶ 0003 Initializing watcher...
成功运行应用,此时打开浏览器并访问 http://localhost:8080 可看到 Beego 的欢迎页。
安装编辑器
安装好了 GO 和 Beego 还需要编辑器进行编码,博主使用的是 VSCODE,官网:https://code.visualstudio.com/
除了 VSCODE 也可以使用其他的 IDE ,例如 GoLand.
简单体验
打开 routers 下的 router.go 路由文件,在 init 方法写入:
beego.Router("/test", &controllers.IndexController{})
在 controllers 目录下创建一个 index.go 文件并写入:
package controllers import ( "github.com/astaxie/beego" ) type IndexController struct{ beego.Controller } func (this *IndexController) Get() { this.TplName = "index.html" }
还需要在 view.html 编写一个 html 文件,最后打开 http://localhost/test 即可看到 index.html 的内容。
另外还有注解路由,例如在路由文件中写入:
beego.Include(&controllers.IndexController{})
控制器的方法改成这样:
// @router /test/ [get] func (this *IndexController) Test() { this.TplName = "index.html" }
此时重启 Beego 然后访问 http://localhost/test 效果同上。
注:注解路由需要 Beego 版本为 1.3+ 文档:https://beego.me/docs/mvc/controller/router.md
查看 Beego 版本的命令:
bee version
跟着文档可以很容易的进行 CRUD,和使用 PHP 的 TP 及 Laravel 框架类似,都是 MVC 架构。
常见错误
报错:
fatal: unable to access 'https://github.com/astaxie/beego/': OpenSSL SSL_connect: Connection was aborted in connection to github.com:443 package github.com/astaxie/beego: exit status 128
解决方法就是设置代理:
代理详情:https://goproxy.io/zh/
go env -w GO111MODULE=on go env -w GOPROXY=https://goproxy.io,direct
设置完成后执行命令:
go env
可查看到相关设置。