beego的安装及bee工具的使用

1 beego 的安装

beego 的安装是典型的 Go 安装包的形式:

启用模块支持(默认是开启的)

go env -w GO111MODULE=on

安装

go get github.com/astaxie/beego

这里可能提示go.mod不存在,可以通过go mod  init  初始化一个

2 beego 升级

分为 go 方式升级和源码下载升级:

  • Go 升级,通过该方式用户可以升级 beego 框架,强烈推荐该方式:
go get -u github.com/astaxie/beego
go install  github.com/astaxie/beego

3 安装bee工具

go get github.com/beego/bee

如果bee.exe没有生成,则手动编译再复制到GOPATH/bin中,这里我是没有通过这种方式生成bee.exe的,我是采用的另一种方式,手动编译生成bee.exe,然后复制到GOPATH/bin

GOPATH如何查看?

G:\goproject>go env
set GO111MODULE=on
set GOBIN=%%GOPATH%%\bin
set GOPATH=C:\Users\leell\go
set GOPROXY=https://goproxy.cn,direct
set GOROOT=D:\Program Files\Go

 上面GOBIN、GOPATH、GOROOT几个环境都能看出,这里记得把GOBIN添加到PATH中

注:GOROOT是go的安装目录,GOPATH是go的指定工作目录,GOBIN是工作目录生成的bin文件路径

手动生成bin.exe方式:

进入GOPATH/pkg\mod/github.com/beego/bee/v2@v2.1.0下,执行go build

cd %GOPATH%
cd pkg\mod\github.com\beego\bee\v2@v2.1.0
go build 

然后将bee.exe复制到GOPATH/bin中。

查看bee

E:\project2\goworkspace>bee
Bee is a Fast and Flexible tool for managing your Beego Web Application.
dev - 用于辅助开发Beego和Bee的命令
update - 更新Bee工具至最新版本
version - 打印当前Bee版本
bale - 将非Go文件转换为Go源文件
fix - 通过使其与Beego的新版本兼容来修复您的应用程序
dockerize - 为您的Beego应用程序生成Dockerfile和docker-compose.yaml
migrate - 运行数据库迁移
new - 创建一个新的Beego应用程序
pack - 将Beego应用程序压缩为一个单独的文件
rs - 运行自定义脚本
server - 在端口上通过HTTP提供静态内容服务
run - 通过启动本地开发服务器运行应用程序
pro - 源代码生成器
api - 创建一个Beego API应用程序
generate - 源代码生成器
hprose - 基于Hprose和Beego框架创建一个RPC应用程序
dlv - 使用Delve启动调试会话

4 bee工具的使用

4.1 创建项目

创建项目更多介绍请移步:通过bee创建第一个beego项目-CSDN博客

web项目

bee new beego-web

api项目

bee api beego-api

4.2 项目运行

bee run [appname] [-gendoc] [-downdoc] [-e=runmode] [-gendoc=true]
  • appname: 应用的名称,默认为当前目录的名称。如果省略,则使用当前目录的名称作为应用名称。
  • -gendoc: 根据注释生成 API 文档,默认为 false。
  • -downdoc: 下载 Swagger UI,默认为 false。
  • -e=runmode: 设置应用运行的模式,可选值为 dev、prod 或 test。默认为 dev。
  • -gendoc=true: 启用生成 API 文档,该参数的默认值为 true。

4.2 项目打包

pack 目录用来发布应用的时候打包,会把项目打包成 zip 包,这样我们部署的时候直接把打包之后的项目上传,解压就可以部署了:

bee pack

 打包linux包

set GOOS=linux

通过bee创建第一个beego项目-CSDN博客 这篇文章中也有过介绍项目打包。

4.3 自动化生成代码

通过generate这个命令是用来自动化的生成代码的,包含了从数据库一键生成 model

bee generate scaffold [scaffoldname] [-fields=""] [-driver=mysql] [-conn="root:@tcp(127.0.0.1:3306)/test"]
    generate scaffold 命令会为你执行一系列操作。
    -fields: 表字段列表。格式:field:type,多个字段之间用逗号分隔。
    -driver: [mysql | postgres | sqlite],默认为 mysql。
    -conn: 驱动使用的连接字符串,默认为 root:@tcp(127.0.0.1:3306)/test。
    示例: bee generate scaffold post -fields="title:string,body:text"

bee generate model [modelname] [-fields=""]
    根据字段生成 RESTful 模型。
    -fields: 表字段列表。格式:field:type,多个字段之间用逗号分隔。

bee generate controller [controllerfile]
    生成 RESTful 控制器。

bee generate view [viewpath]
    在指定路径生成 CRUD 视图。

bee generate migration [migrationfile] [-fields=""]
    生成用于更新数据库模式的迁移文件。
    -fields: 表字段列表。格式:field:type,多个字段之间用逗号分隔。

bee generate docs
    生成 Swagger 文档文件。

bee generate test [routerfile]
    生成测试用例。

bee generate appcode [-tables=""] [-driver=mysql] [-conn="root:@tcp(127.0.0.1:3306)/test"] [-level=3]
    根据现有数据库生成应用代码。
    -tables: 用逗号分隔的表名列表,默认为空,表示所有表。
    -driver: [mysql | postgres | sqlite],默认为 mysql。
    -conn: 驱动使用的连接字符串。
             默认值(mysql):    root:@tcp(127.0.0.1:3306)/test
             默认值(postgres): postgres://postgres:postgres@127.0.0.1:5432/postgres
    -level: [1 | 2 | 3],1 = models; 2 = models,controllers; 3 = models,controllers,router。

(1)通过 bee generate scaffold 构建代码

scaffold是一个综合性代码生成命令

PS C:\Users\leell\go\src\quickstart> bee generate scaffold user -fields="id:int,name:string" -conn="leellun:fansimao@tcp(127.0.0.1:3308)/test"
______
| ___ \
| |_/ /  ___   ___
| ___ \ / _ \ / _ \
| |_/ /|  __/|  __/
\____/  \___| \___| v2.1.0
2024/01/18 19:47:12 INFO     ▶ 0001 Do you want to create a 'user' model? [Yes|No] 
yes
2024/01/18 19:47:14 INFO     ▶ 0002 Using 'User' as model name
2024/01/18 19:47:14 INFO     ▶ 0003 Using 'models' as package name
        create   C:\Users\leell\go\src\quickstart/models/user.go
2024/01/18 19:47:14 INFO     ▶ 0004 Do you want to create a 'user' controller? [Yes|No]
yes
2024/01/18 19:47:18 INFO     ▶ 0005 Using 'User' as controller name
2024/01/18 19:47:18 INFO     ▶ 0006 Using 'controllers' as package name
2024/01/18 19:47:18 INFO     ▶ 0007 Using matching model 'User'
        create   C:\Users\leell\go\src\quickstart/controllers/user.go
2024/01/18 19:47:18 INFO     ▶ 0008 Do you want to create views for this 'user' resource? [Yes|No]
yes
2024/01/18 19:47:21 INFO     ▶ 0009 Generating view...
        create   C:\Users\leell\go\src\quickstart/views/user/index.tpl
        create   C:\Users\leell\go\src\quickstart/views/user/show.tpl
        create   C:\Users\leell\go\src\quickstart/views/user/create.tpl
        create   C:\Users\leell\go\src\quickstart/views/user/edit.tpl
2024/01/18 19:47:21 INFO     ▶ 0010 Do you want to create a 'user' migration and schema for this resource? [Yes|No]
yes
        create   C:\Users\leell\go\src\quickstart/database/migrations/20240118_194724_user.go
2024/01/18 19:47:24 INFO     ▶ 0011 Do you want to migrate the database? [Yes|No]

通过上面提示就知道bee会一步一步的询问你需要生成什么?包括model、controller、views、migration。并且最后还会循问是否在数据库创建表结构,当然需要安装相关依赖包,需要的话根据提示自行安装。

(2)bee generate model生成模型

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

(3)bee generate appcode生成controller、model、router

PS C:\Users\leell\go\src\quickstart> bee generate appcode -tables=user -driver=mysql -conn="leellun:fansimao666@tcp(127.0.0.1:3308)/test"
2024/01/18 20:02:34 INFO     ▶ 0006 Creating model files...
        create   C:\Users\leell\go\src\quickstart/models/user.go
2024/01/18 20:02:34 INFO     ▶ 0007 Creating controller files...
        create   C:\Users\leell\go\src\quickstart/controllers/user.go
2024/01/18 20:02:34 INFO     ▶ 0008 Creating router files...
        create   C:\Users\leell\go\src\quickstart\routers\router.go
2024/01/18 20:02:34 SUCCESS  ▶ 0009 Appcode successfully generated!

4.4 生成docker应用

PS C:\Users\leell\go\src\quickstart> bee dockerize -baseimage=golang:1.20.2  -expose=9000
______
| ___ \
| |_/ /  ___   ___
| ___ \ / _ \ / _ \
| |_/ /|  __/|  __/
\____/  \___| \___| v2.1.0
2024/01/18 20:26:04 INFO     ▶ 0001 Generating Dockerfile and docker-compose.yaml...
2024/01/18 20:26:04 SUCCESS  ▶ 0002 Dockerfile generated.
2024/01/18 20:26:04 SUCCESS  ▶ 0003 docker-compose.yaml generated.

将会生成两个文件 Dockerfile和docker-compose.yaml,有了Dockerfile想要生成Docker镜像,用docker build就行了,具体生成docker镜像和push镜像,在这就不详细说明了。

常见问题

  • git https 无法获取,请配置本地的 git,关闭 https 验证:
git config --global http.sslVerify false

  • 9
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值