Go-sword(利刃)是一款基於Go語言的可視化web管理後臺生成工具git
目標就是快速的建立CRUD可視化的後臺github
根據MySQL的表結構,建立完整的管理後臺界面,開發者無需再重複手動的建立具備CRUD能力的頁面
只須要點擊按鈕便可生成完整的管理後臺golang
go get -u github.com/sunshinev/go-sword
安裝完成後,確保go-sword
命令在GOPATH/bin
目錄下,可執行web
go-sword -db {db_database} -password {db_password} -user {db_uesr} -module {module_name}
例如:go-sword -db blog -password 123456 -user root -module go-sword-app
數據庫
以上命令,就是鏈接數據庫blog
,用戶名root
,密碼12345
,在go-sword命令的當前目錄下建立項目go-sword-app
後端
啓動成功的提示app
Go-Sword will create new project named go-sword-app in current directory [Server info] Server port : 8080 Project module : go-sword-app [db info] MySQL host : localhost MySQL port : 3306 MySQL user : root MySQL password : 123456 Start successful, server is running ... Please request: http://localhost:8080
+---------------------------------------------------+ | | | Welcome to use Go-Sword | | | | Visualized tool | | Fastest to create CRUD background | | https://github.com/sunshinev/go-sword | | | +---------------------------------------------------+ Usage of go-sword: // 要鏈接的數據庫信息 -db string MySQL database -host string MySQL Host (default "localhost") // 重要:module參數單獨做解釋 -module string New project module, the same as 'module' in go.mod file. (default "go-sword-app/") // go-sword 服務啓動的默認端口 -p string Go-sword Server port (default "8080") -password string MySQL password -port int MySQL port (default 3306) -user string MySQL user
-module
參數是表明要建立的項目名稱,同時也是新項目go.mod
文件中的module
字段的值,這點請務必保持一致。工具
新項目會在運行go-sword
命令的當前目錄下,直接建立module
目錄,做爲新項目優化
Start successful, server is running ... Please request: http://localhost:8080
根據服務啓動的提示,直接點擊http://localhost:8080
便可進入web的可視化工具頁面spa
Preview
按鈕,便可渲染出須要建立的文件select all
所有選擇,首次建立包含了項目啓動必需的核心文件Generate
按鈕,既能夠看到提示文件建立成功注意:
select diff & new
按鈕,而後點擊Generate
按鈕進入到咱們新建立的項目目錄
➜ test tree -L 2 . └── go-sword-app ├── controller ├── core ├── go.mod ├── go.sum ├── main.go ├── model ├── resource ├── route └── view
好比說咱們,剛剛是在test
目錄運行的go-sword
命令,建立的項目就是test/go-sword-app
咱們進入test/go-sword-app
目錄下按照如下命令啓動項目
利用go mod
初始化項目,這裏的module
就是咱們前面講到的要與項目名稱保持一致!!
go mod init {module}
go run main.go
而後會看到下面的提示,點擊http://localhost:8082
既能夠進入後臺管理界面
Enjoy your system ^ ^ Generated by Go-sword https://github.com/sunshinev/go-sword [Server info] Server port : 8082 [db info] MySQL host : localhost MySQL port : 3306 MySQL user : root MySQL password : 123456 Start successful, server is running ... Please request: http://localhost:8082
module
的參數,可能還會有更好的解決方案
若是想要自定義的話,那麼須要注意,Go-sword 項目能夠打包成一個那單獨的命令來執行,由於將全部的靜態文件也進行了打包
靜態文件壓縮命令以下:
go-bindata -o assets/resource/dist.go -pkg resource resource/dist/...
go-bindata -o assets/stub/stub.go -pkg stub stub/...
go-bindata -o assets/view/view.go -pkg view view/...