beego2学习

Beego2 的学习, 采用 golang 的 modules 模式管理项目
环境介绍:

  1. window 10 64位 家庭版

安装环境

安装 golang 语言环境

官网下载Golang

下载地址: https://golang.google.cn/dl/, 我是 window 10 的, 所以下载 “go1.15.6.windows-amd64.zip” 的类型

解压后, 放到 ‘F:\language\golang_1.15.6’ 目录下:
目录

但是, 需要配置 go 的环境变量
环境变量

从这儿就能看出, 环境变量就是我们解压出来 go 目录下的 bin 目录. bin 里面有我们需要执行的 go.exe, 后面的命令我们都会用到这个的

环境变量配置好了以后, 就可以在桌面打开命令窗口, 直接输入:

go version

控制就会弹出 go 的版本号

go version go1.15.6 windows/amd64

这就说明我们还是安装成功了的.

Go modules

网上很多 go modules 的教程, 废话不多说, 提出关键信息:

  • 要使用go module 首先要设置GO111MODULE=on,
  • GO111MODULE 有三个值,off、on、auto,
  • off 和 on 即关闭和开启,
  • auto 则会根据当前目录下是否有 go.mod 文件来判断是否使用 modules 功能。
  • 无论使用哪种模式,module 功能默认不在 GOPATH 目录下查找依赖文件,
  • 所以使用 modules 功能时请设置好代理。

首先, 我们在控制台执行

go env

输出信息我们能看到关键的的 GO111MODULEGOPATH:
env
GO111MODULE 是为空的, 说明没开启,
GOPATH 是系统默认的.

OK, 先修改 gopath: 控制台中输入命令:

go env -w GOPATH=F:\support\gopath_

然后是开启 go modules:
直接在命令行中执行:

go env -w GO111MODULE=on

最后再来看效果:
png
可以看到: 修改gopath后,另一个参数也变了, 为什么会变? 我也不知道┑( ̄Д  ̄)┍

注意:
由于golang是google家的, 默认用的国外服务器, 可能要翻墙, 所以需要修改代理为国内的的.
直接在命令行执行:

go env -w GOPROXY=https://goproxy.cn

至此, golang环境基本配置OK o( ̄▽ ̄)ブ

安装Beego

先找个空的文件夹 “F:\project\beego\hellov2”
然后在这个文件夹中打开控制台, 输入

go get -u github.com/beego/beego/v2

执行完毕后, 我们在 hellov2 文件夹中开不到任何东西, 然后在 gopath 指定的文件夹中会多出一个 pkg 文件夹
为什么呢? 我还是不知道 ┑( ̄Д  ̄)┍

然后我用命令初始化了一个 module

go mod init hellov2

这儿 hellov2 其实也是项目名, 初始化后, hellov2 文件夹总会多一个 go.mod 的文件, 文件中内容:

然后执行 beego 官网上的安装命令:

$ go get -u github.com/beego/beego/v2
$ go get -u github.com/beego/bee/v2

执行结束后, 你会返现 go.mod 里面有 require 了, 然后还多了一个 go.sum 文件,
这个俩个文件有啥用, 我也不知大, 明天再来看吧 `┗|`O′|┛ 嗷~~

2020-12-19 接着来

上次我们通过 beego 官网的快速入门知道了俩条命令:

go get -u github.com/beego/beego/v2
go get -u github.com/beego/bee/v2

这俩条命令执行了就发现在 %gopath%/pkg/mod/ 多了一堆包, 看名称估计应该就是 beego 依赖相关的包吧

然后 hellov2 文件中并没有多任何包, 同时, 自己创建了一个 src/main/main.go 文件, 执行

go build .\src\main\main.go

命令, 反而提示我找不到 ‘github.com/beego/beego/v2/server/web’ 包时, 我就知道, 肯定是哪儿没对
按照网上教程说的, go modules 应该会在当前项目里面管理, 然后当前项目并没有 包,
按照教程, 我又执行了

go mod download

并没有任何变化; 于是再次执行:

go mod vendor

hellov2 中多了一个 vendor 文件夹, 里面还多了一个 modules.txt ; 但是依然没有依赖包,
于是我再次执行了 go mod vendor 指令后, vendor 中多了好几个包, 看来是成功了.

接着执行:

go build .\src\main\main.go

执行结束后, 在 hellov2 文件夹多了个 main.exe 文件, 直接在控制台运行, 就完成了

汇总一下

好了, 上面说了那么多过程废话, 下面窝馒来汇总一下, 结合 beego 官网的 快速入门, 第一个 beego “hello word” 过程:

说明下: 我的环境是 window 10 的, 所有过程都是按照 window 10 的来做的.

  1. 在任何地方创建一个文件夹(假如项目名叫: hellobeego, 我们可以创建一个 hellobeego 的文件夹);
  2. 进入 hellobeego 文件夹, 打开控制台窗口;
  3. 执行初始化 modules 的命令: go mod init hellobeego (这儿 hellobeego 是项目名, 又什么用, 还暂时不知道 ,,ԾㅂԾ,, );
  4. 创建一个 main.go 文件, 里面就写 beego 官网快速入门里面 ‘简单示例’ 的代码就好了;
  5. 执行检测依赖命令: go mod tidy;
  6. 执行下载依赖命令: go mod download;
  7. 执行导入依赖命令: go mod vendor;
  8. 执行go编译命令: go build main.go;
  9. 编译后就有个 main.exe 文件, 然后直接执行这个exe文件;
  10. 访问 localhost:8080/ 页面就有 hello word 了;

继续

beego 官网上是有 beego 的文件结构的, 我们按照他的文件目录创建一个

quickstart
|-- conf
|   `-- app.conf
|-- controllers
|   `-- default.go
|-- main.go
|-- models
|-- routers
|   `-- router.go
|-- static
|   |-- css
|   |-- img
|   `-- js
|-- tests
|   `-- default_test.go
`-- views
    `-- index.tpl

本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!