全栈开发知识库

Beego框架简介(一)

Beego是一个go web的开发框架。

中文版简介官网(https://beego.me/docs/intro/)

首先下载Beego框架,命令行执行:

go get github.com/astaxie/beego
package main

import "github.com/astaxie/beego"

type HomeController struct {
    beego.Controller
}

func (this *HomeController) Get() {
    this.Ctx.WriteString("Hello World")
}
func main() {
    beego.Router("/", &HomeController{})
    beego.Run()
}

运行一下,然后浏览器访问:http://localhost:8080,屏幕上就会打印出Hello World

bee工具

bee工具是一个为了快速开发beego项目而创建的项目,通过bee可以很容易的进行beego项目的创建、热编译、开发、测试和部署。

通过命令行执行:

go get github.com/beego/bee

安装完之后,bee 可执行文件默认存放在 $GOPATH/bin 里面,所以您需要把 $GOPATH/bin 添加到您的环境变量中,才可以进行下一步。

然后执行:

bee new projectname

就会创建web工程的目录

create   /development/go/src/web/
create   /development/go/src/web/conf/
create   /development/go/src/web/controllers/
create   /development/go/src/web/models/
create   /development/go/src/web/routers/
create   /development/go/src/web/tests/
create   /development/go/src/web/static/
create   /development/go/src/web/static/js/
create   /development/go/src/web/static/css/
create   /development/go/src/web/static/img/
create   /development/go/src/web/views/
create   /development/go/src/web/conf/app.conf
create   /development/go/src/web/controllers/default.go
create   /development/go/src/web/views/index.tpl
create   /development/go/src/web/routers/router.go
create   /development/go/src/web/tests/default_test.go
create   /development/go/src/web/main.go

创建完成后执行:

bee run

然后用Goland打开刚创建的项目,后执行main.go文件。 执行后访问浏览器http://localhost:8080

大体看一下具体的项目结构:

里面controllers包中default.go的源码是:

type MainController struct {
    beego.Controller
}

func (c *MainController) Get() {
    c.Data["Website"] = "beego.me"
    c.Data["Email"] = "astaxie@gmail.com"
    c.TplName = "index.tpl"
}

routers包里面的router.go的源码是:

package routers

import (
    "web/controllers"
    "github.com/astaxie/beego"
)

func init() {
    beego.Router("/", &controllers.MainController{})
}

main.go文件的源码是 :

package main

import (
    "github.com/astaxie/beego"
    _ "web/routers"
)

func main() {
    beego.Run()
}

  • 邮箱 :charon.chui@gmail.com
  • Good Luck!