git clone https://github.com/dejavuzhou/felix
cd felix
go mod download
go install
echo "添加 GOBIN 到 PATH 环境变量"
echo "或者"
go get github.com/dejavuzhou/felix
echo "go build && ./felix -h"
或者下载编译好的文件 https://github.com/dejavuzhou/felix/releases/tag/v0.2
text/template
生成 swagger.yaml, GORM 模型文件, GIN handler 文件 ...go fmt ./...
格式化代码archive/zip
打包*.go config.toml ...
代码,提供 zip 文件下载(命令行模式没有)GET-pagination/POST/GET-one/PATCH/DELETE
)gin autotls
[root@ericzhou felix]# felix ginbro -h
generate a RESTful APIs app with gin and gorm for gophers
Usage:
felix ginbro [flags]
示例:
felix ginbro -a dev.wordpress.com:3306 -P go_package_name -n db_name -u db_username -p 'my_db_password' -d '~/thisDir'
Flags:
--authColumn string 使用 bcrypt 方式加密的用户表密码字段名称 (default "password")
--authTable string 认知登陆用户表名称 (default "users")
-a, --dbAddr string 数据库连接的地址 (default "127.0.0.1:3306")
-c, --dbChar string 数据库字符集 (default "utf8")
-n, --dbName string 数据库名称
-p, --dbPassword string 数据库密码 (default "password")
-t, --dbType string 数据库类型: mysql/postgres/mssql/sqlite (default "mysql")
-u, --dbUser string 数据库用户名 (default "root")
-d, --dir string golang 代码输出的目录,默认是当前目录 (default ".")
-h, --help 帮助
-l, --listen string 生成 go app 接口监听的地址 (default "127.0.0.1:5555")
--pkg string 生成 go app 包名称(go version > 1.12) 生成 go.mod 文件, eg: ginbroSon
[root@ericzhou felix]#
对于那些喜欢使用命令行的同学,你们可以选择使用 web 界面来操作
git clone https://github.com/dejavuzhou/felix
cd felix
go mod download
go install
echo "添加 GOBIN 到 PATH 环境变量"
echo "go build && ./felix -h"
echo 打开 Web 界面
felix sshw -h
felix sshw
echo "三秒钟之后会自动帮助你打开浏览器,如果如果你使用的 windows 或者 mac 系统"
默认用户名和密码都是 admin
archive/zip
写入到bytes.buffer
中
$ felix ginbin -h
示例: felix ginbin -s dist -p staticbin
Usage:
felix ginbin [flags]
Flags:
-c, --comment string 代码注释说明.
-d, --dest string 出输 go 代码到目录. (default ".")
-f, --force 是否覆盖输出. (default true)
-h, --help 帮助
-m, --mtime 是否修改文件时间戳.
-p, --package string 输出的包名称. (default "felixbin")
-s, --src string 前端静态文件的目录地址. (default "dist")
-t, --tags string go 语言的标签.
-z, --zip 是否 zip 压缩.
vuejs/dist 使用 felix ginbin
生成的 go 文件
https://github.com/dejavuzhou/felix/blob/master/staticbin/gin_static.go
gin 路由应用二进制化的前端代码中间件如下:
import "github.com/dejavuzhou/felix/staticbin" //导入 felix ginbin 生成的二进制化包
https://github.com/dejavuzhou/felix/blob/master/ssh2ws/ssh2ws.go
r := gin.Default()
r.MaxMultipartMemory = 32 << 20
//sever static file in http's root path
binStaticMiddleware, err := staticbin.NewGinStaticBinMiddleware("/")
if err != nil {
return err
}
r.Use(binStaticMiddleware)
1
dabaibai 2019-05-23 20:06:10 +08:00
后端要啥脚手架...
|
2
not4jerk OP |
5
wsseo 2019-05-24 11:00:08 +08:00 1
标记
|
6
not4jerk OP @wsseo 感谢 不过现在有一个问题: go mod 中一个包第三方包版本有问题 https://github.com/ugorji/go/issues/299 导致 ginbro web ui 不能到达最后一步, 但是代码可以生成
``` C:\ginbroRock4>go fmt ./... build ginbroSon: cannot load github.com/ugorji/go/codec: ambiguous import: found github.com/ugorji/go/codec in multiple modules: github.com/ugorji/go v1.1.4 (C:\Users\xxx\go\pkg\mod\github.com\ugorji\[email protected]\codec) github.com/ugorji/go/codec v0.0.0-20181209151446-772ced7fd4c2 (C:\Users\xx\go\pkg\mod\github.com\ugorji\go\[email protected] d4c2) ``` |