Golang与区块链Web

初识beego

2018-10-07  本文已影响33人  高鸿祥

beego简介

beego 是一个快速开发 Go 应用的 HTTP 框架,他可以用来快速开发 API、Web 及后端服务等各种应用,是一个 RESTful 的框架,主要设计灵感来源于 tornado、sinatra 和 flask 这三个框架,但是结合了 Go 本身的一些特性(interface、struct 嵌入等)而设计的一个框架。

beego 是基于八大独立的模块构建的,充分体现了功能模块化。是一个高度解耦的框架。

cache、config、context、httplibs、logs、orm、session、toolbox

用户即使不使用 beego 的 HTTP 逻辑,也依旧可以使用这些独立模块。

例如:你可以使用 cache 模块来做你的缓存逻辑;使用日志模块来记录你的操作信息;使用 config 模块来解析你各种格式的文件。

beego 不仅可以用于 HTTP 类的应用开发,这也是 beego 为什么受欢迎的一个原因。就像乐高积木一样,通过一个个模块就可以搭建出不同的应用。

beego安装

安装beego

beego 的安装是典型的 Go 安装包的形式。(前提当然已经安装好了go)

go get github.com/astaxie/beego

安装bee

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

go get github.com/beego/bee

添加环境变量

bee 可执行文件默认存放在 $GOPATH/bin 里面,需要把 $GOPATH/bin 添加到环境变量中。

创建项目

bee new hello //创建web项目
bee api hello //创建api项目

api项目只是比web项目少了 static 和 views 目录,多了一个 test 模块,用来做单元测试的。这里以web项目为例

项目位置

go
|-- bin
|-- pkg
|-- src
|   |-- hello //创建的项目

项目目录结构

hello //项目名称
|-- conf
    -- app.conf //配置文件
|-- controllers
    -- default.go //控制器文件
|-- models
|-- routers
    -- router.go //路由文件
|-- static
|   |-- css
|   |-- img
|   |-- js
|-- tests
    -- default_test.go
|-- views
    -- index.tpl //模板文件
-- main.go //入口文件

实际项目中前后台分离,需要增加后台目录,目录结构可能变成这样

hello //项目名称
|-- conf
    -- app.conf //配置文件
|-- controllers
|   |-- admin //后台控制器目录
    -- default.go //前台控制器文件
|-- models
|-- routers
    -- router.go //路由文件
|-- static
|   |-- css
|   |-- img
|   |-- js
|-- tests
    -- default_test.go
|-- views
|   |-- admin //后台模板目录
    -- index.tpl //前台模板文件
-- main.go //入口文件

运行项目

cd hello

bee run

浏览器输入localhost:8080就可以看到beego欢迎页面了。

Go 本身已经做了网络层的东西,beego 封装了一下,所以可以做到不需要 nginx 或 apache就可以在浏览器访问(beego沿用Go的默认端口8080)。但正式项目中还是需要专门的ngingx或apache这种web服务器。

入口文件 main.go

package main

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

func main() {
    beego.Run()
}

beego.Run 执行

上一篇下一篇

猜你喜欢

热点阅读