大家好啊,GoFrame框架隆重推出了開發工具鏈項目,該工具鏈通過CLI命令行工具提供,工具開源項目地址:https://github.com/gogf/gf-cli
$ gfUSAGE 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 infoOPTION -y all yes for all command without prompt ask -?,-h show this help or detail for specified command -v,-i show version informationADDITIONAL 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
命令行工具編譯時的版本信息。例如:
$ gf -vGoFrame CLI Tool v0.7.4, https://goframe.orgInstall Path: /usr/local/bin/gfBuild 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
):
Go
版本。GF
版本。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個文件:
數據表名.go
自定義文件,開發者可以自由定義填充的代碼文件,僅會生成一次,每一次模型生成不會覆蓋。數據表名_entity.go
表結構文件,根據數據表結構生成的結構體定義文件,包含欄位注釋。數據表在外部變更後,可使用gen
命令重複生成更新該文件。數據表名_model.go
表模型文件,為數據表提供了許多便捷的CURD
操作方法,並可直接查詢返回該表的結構體對象。數據表在外部變更後,可使用gen
命令重複生成更新該文件。數據表模型生成支持的資料庫類型為:
MySQL/MariaDB
、PostgreSQL
、SQLite
、SQLServer
。目前暫不支持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
。非必需參數OPTIONS
為docker build
命令相同參數及選項。
update
工具更新使用方式:gf update
該命令用以檢測gf
命令行工具的版本,並自動執行版本更新。
部分系統需要管理員權限支持。如果更新失敗,請手動重新下載更新。
pack
二進位打包使用方式:gf pack SRC DST
該命令用以將任意的文件打包為二進位文件,或者Go
代碼文件,可將任意文件打包後隨著可執行文件一同發布。此外,在build
命令中支持打包+編譯一步進行,具體請查看build
命令幫助信息。
help
命令行幫助使用方式:
gf -h
gf -?
gf help [COMMAND]
gf [COMMAND] -h
任何不懂的,就用help
看看吧。