大家好啊,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
):
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
看看吧。
[admin
]