gf-cli v0.7.4 发布,GoFrame 开发工具链

栏目: 软件资讯 · 发布时间: 5年前

内容简介:大家好啊,GoFrame框架隆重推出了开发工具链项目,该工具链通过CLI命令行工具提供,工具开源项目地址:https://github.com/gogf/gf-cli 完整命令 $ gf USAGE gf COMMAND [ARGUMENT] [OPTION] COMMAND...

大家好啊,GoFrame框架隆重推出了开发 工具 链项目,该工具链通过CLI命令行工具提供,工具开源项目地址:https://github.com/gogf/gf-cli 

完整命令

$ gf
USAGE
    gf COMMAND [ARGUMENT] [OPTION]

COMMAND
    get        install or update GF to system in default...
    gen        automatically generate go files for ORM models...
    run        running go codes with hot-compiled-like feature...
    init       initialize an empty GF project at current working directory...
    help       show more information about a specified command
    pack       packing any file/directory to a resource file, or a go file
    build      cross-building go project for lots of platforms...
    docker     create a docker image for current GF project...
    swagger    parse and start a swagger feature server for current project...
    update     update current gf binary to latest one (might need root/admin permission)
    install    install gf binary to system (might need root/admin permission)
    version    show current binary version info

OPTION
    -y         all yes for all command without prompt ask
    -?,-h      show this help or detail for specified command
    -v,-i      show version information

ADDITIONAL
    Use 'gf help COMMAND' or 'gf COMMAND -h' for detail about a command, which has '...'
    in the tail of their comments.

install 工具安装

使用方式:./gf install

该命令往往是在gf命令行工具下载到本地后执行(注意执行权限),用于将gf命令安装到系统环境变量默认支持的目录路径中,以便于在系统任何的地方直接可以使用gf工具。

部分系统需要管理员权限支持。

如果是MacOS下使用zsh的小伙伴可能会遇到别名冲突问题,可以通过alias gf=gf来解决。

version 工具版本查看

使用方式:

  • gf -v
  • gf -i
  • gf version

用以查看当前gf命令行工具编译时的版本信息。例如:

$ gf -v
GoFrame CLI Tool v0.7.4, https://goframe.org
Install Path: /usr/local/bin/gf
Build Detail:
  Go Version:  go1.14
  GF Version:  v1.12.2
  Git Commit:  bd19f7af64f9d34fac2d4d10043ff8020a1ec74a
  Build Time:  2020-04-18 14:41:58

init 项目初始化

使用方式:gf init [NAME]

我们可以使用init命令在当前目录生成一个示例的GF空框架项目,并可给定可选的项目名称参数。生成的项目目录结构仅供参考,根据业务项目具体情况可自行调整。

GF框架开发推荐统一使用官方的go module特性进行依赖包管理,因此空项目根目录下也有一个go.mod文件。

build 交叉编译

使用方式:gf build FILE [OPTION]

仅限于交叉编译使用到GF框架的项目,支持绝大部分常见系统的直接交叉编译。并且支持配置文件管理编译选项、嵌入编译时变量,默认嵌入的编译时变量包括(参考gf -v):

  1. 当前Go版本。
  2. 当前GF版本。
  3. 当前编译时间。
  4. 当前Git Commit(如果存在)。

配置选项的释义同命令行同名选项。

编译时的内置变量可以在运行时通过gbuild包获取。

gen 代码生成命令

使用方式:gf gen model [PATH] [OPTION]

gen命令用以自动化从数据库直接生成模型文件。可以参考gf-demos示例项目中的模型文件即是通过该命令生成的:https://github.com/gogf/gf-demos/tree/master/app/model

模型生成采用了Active Record设计模式。该命令将会根据数据表名生成对应的目录,该目录名称即数据表包名。目录下自动生成3个文件:

  1. 数据表名.go 自定义文件,开发者可以自由定义填充的代码文件,仅会生成一次,每一次模型生成不会覆盖。
  2. 数据表名_entity.go 表结构文件,根据数据表结构生成的结构体定义文件,包含字段注释。数据表在外部变更后,可使用gen命令重复生成更新该文件。
  3. 数据表名_model.go 表模型文件,为数据表提供了许多便捷的CURD操作方法,并可直接查询返回该表的结构体对象。数据表在外部变更后,可使用gen命令重复生成更新该文件。

数据表模型生成支持的数据库类型为:MySQL/MariaDBPostgreSQLSQLiteSQLServer。目前暂不支持Oracle,若有需求请联系作者。

run 热编译(自动编译)

使用方式:gf run FILE

由于Go是不支持热编译特性的,每一次代码变更后都要重新手动停止、编译、运行代码文件。run命令也不是实现热编译功能,而是提供了自动编译功能,当开发者修改了项目中的go文件时,该命令将会自动编译当前程序,并停止原有程序,运行新版的程序。

run命令会递归监控当前运行目录的所有go文件变化来实现自动编译。

get 依赖包下载

使用方式:gf get PACKAGE

gf get命令和go get命令类似,内部自动提供了代理设置功能,并智能识别并设置最快的下载代理地址。

docker 镜像编译

使用方式:gf docker [FILE] [OPTIONS]

自动编译并生成docker镜像。非必需FILE参数为编译文件路径,默认为main.go。非必需参数OPTIONSdocker build命令相同参数及选项。

update 工具更新

使用方式:gf update

该命令用以检测gf命令行工具的版本,并自动执行版本更新。

部分系统需要管理员权限支持。如果更新失败,请手动重新下载更新。

pack 二进制打包

使用方式:gf pack SRC DST

该命令用以将任意的文件打包为二进制文件,或者Go代码文件,可将任意文件打包后随着可执行文件一同发布。此外,在build命令中支持打包+编译一步进行,具体请查看build命令帮助信息。

help 命令行帮助

使用方式:

  • gf -h
  • gf -?
  • gf help [COMMAND]
  • gf [COMMAND] -h

任何不懂的,就用help看看吧。


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

The Seasoned Schemer

The Seasoned Schemer

Daniel P. Friedman、Matthias Felleisen / The MIT Press / 1995-12-21 / USD 38.00

drawings by Duane Bibbyforeword and afterword by Guy L. Steele Jr.The notion that "thinking about computing is one of the most exciting things the human mind can do" sets both The Little Schemer (form......一起来看看 《The Seasoned Schemer》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

在线进制转换器
在线进制转换器

各进制数互转换器

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具