用 air 給 Golang/Gin 框架提供熱重啟支持

Golang 這種編譯語言和 Rails/Python 這種腳本語言不同, 腳本語言做后端, 只要不是配置和數據庫有變化, 一般都是源代碼一修改后, 最新后端服務就立即生效了.

但是 Golang 做后端, 需要每次修改代碼以后都要重新編譯后重啟服務才行.
但是每次改完代碼都切換到終端按 Ctrl + C 也是無比的煩.

對于我這種懶得寫代碼的懶人, 偉大的Google從來都有現成的方案, 在Mac上直接用下面的命令在后端目錄下執行:

$ curl -fLo ~/air \
    https://raw.githubusercontent.com/cosmtrek/air/master/bin/darwin/air

$ chmod +x ~/air

$ ./air

就是這么簡單, 配合 FRP, 直接在本地開發, 前端直接調用就可以通過阿里云反向代理到本地開發機進行訪問了.

只要 Golang 源代碼一改, air 會自動重新編譯并重啟, 超級方便, 再也不用按 Ctrl + C 了.

注意: air 這種重新編譯和重啟的方案只適合開發環境, 如果生產環境, 還需要基于 Golang HTTP.shutdown 方案開發更加智能的子進程熱替換方案, 否則會因為重啟瞬間丟失用戶訪問請求.

That's all, gopher! ;)

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。