1. 程式人生 > 其它 >2-Gin程式熱載入

2-Gin程式熱載入

一 專案熱載入

如果你是一名python開發者,應該很熟悉這個。我們在Flask或者Django框架下開發都是支援實時載入的,當我們對程式碼進行修改時,程式能夠自動重新載入並執行,這在我們開發中是非常便利的,可以快速進行程式碼測試,省去了每次手動重新編譯。

如果你是一名JAVA開發者,不僅會聽過熱載入,熱部署會跟著一塊出現。熱部署一般是指容器(支援多應用)不重啟,單獨啟動單個應用。熱載入一般指重啟應用(JVM),單獨重新更新某個類或者配置檔案

所謂熱載入就是當我們對程式碼進行修改時,程式能夠自動重新載入並執行,這在我們開發中是非常便利的,可以快速進行程式碼測試,省去了每次手動重新編譯

beego 中我們可以使用官方給我們提供的 bee 工具來熱載入專案,但是 gin 中並沒有官方提 供的熱載入工具,這個時候我們要實現熱載入就可以藉助第三方的工具

1.1 工具一:fresh

Fresh是一個命令列工具,每次儲存Go或模版檔案時,該工具都會生成或重新啟動Web應用程式。Fresh將監視檔案事件,並且每次建立/修改/刪除檔案時,Fresh都會生成並重新啟動應用程式。如果go build返回錯誤,它會將記錄在tmp資料夾中

// 0 地址 :https://github.com/gravityblast/fresh

// 1 安裝
go get github.com/pilu/fresh

// 2 切換到專案路徑
cd /path/to/myapp

// 3 執行fresh,不需要直接啟動專案了,使用fresh啟動gin專案即可
fresh  

1.2 工具二:codegangsta/gin

gin是一個簡單的命令列實用程式,用於實時重新載入Go web應用程式。只需在你的應用程式目錄中執行gin,你的web應用程式就會以gin作為代理。當gin檢測到更改時,它會自動重新編譯程式碼。你的應用程式將在下次收到HTTP請求時重新啟動

// 0 地址 :https://github.com/codegangsta/gin

// 1 安裝
go get github.com/codegangsta/gin

// 2 檢視幫助
gin help

// 3 使用
gin run main.go  
// 4 訪問一下http://127.0.0.1:3000,再訪問http://127.0.0.1:8000

// 5 或者使用以下命令啟動,訪問3000會被代理到8000
// --bin value, -b value    name of generated binary file (default: "gin-bin")
gin -p 3000 -a 8000 -b gin-bin --all run

1.3 工具三:bee

bee是beego框架的熱編譯工具,同樣可以對GIN框架進行熱編譯,使用起來很方便,功能也有很多,這裡就不展開了,喜歡的可以去看文件,解鎖更多玩法。

// 0 地址 :https://github.com/beego/bee

// 1 安裝
go get github.com/beego/bee

// 2 使用
bee run

// 3 訪問:http://127.0.0.1:8000/