和當初選擇python的flask框架一樣,在學習golang+web的時候選擇同樣了相對輕量的gin框架,然而在實際學習開發中,gin並沒有那麼好用,原因在於沒有自動過載和swagger文件,好在都有解決方案,參考多個文件之後,實現了自動過載並更新swagger文件的功能。
go get -u github.com/swaggo/swag/cmd/swag
ln -s /swag /usr/local/bin/swag
在gin專案根目錄下執行
swag init
會生成docs資料夾,資料夾下有swagger.json,這就是我們要的文件。
在配置路由的方法中,加入swagger的路由配置
)func addswaggerrouter(r *gin.engine)將docs目錄下的swagger.json檔案配置成靜態檔案,然後將其靜態檔案對應的url傳入到swagger路由中,這樣swagger頁面讀取json檔案就是我們指定的檔案,官方文件中的配置指定的url是「/swagger/doc.json」,有一定的滯後,所以選定自己的swagger.json
go get -u github.com/cosmtrek/air
安裝方式和上面的swag命令相同,為了實現自動過載和自動更新swagger文件的功能,需要我們自己進行一些配置檔案
root = "."
tmp_dir = "tmp"
[build]
cmd = "go build -o ./tmp/main ./main.go"
bin = "tmp/main"
include_ext = ["go"]
exclude_dir = ["vendor", "docs"]
exclude_file =
stop_on_error = true
log = "air_error.log"
[log]
time = true
[color]
main = "magenta"
watcher = "cyan"
build = "yellow"
runner = "green"
[misc]
clean_on_exit = true
在gin專案的根目錄下建立 .air.conf檔案,並鍵入上述內容,會在main.go的同級目錄下建立tmp檔案用於儲存構建之後的可執行檔案。有一點注意的是exclude_dir的配置,其中docs是swag init命令的產生的swagger.json檔案
然後是每次啟動時,更新swagger.json檔案,在main.go中的init函式中執行swag init系統命令
cmd := exec.command("swag", "init")
err := cmd.run()
if err != nil
fmt.println("swagger.json生成成功")
如果air的配置檔案沒有忽略docs,會一直重啟服務,更新docs下的檔案,再重啟死迴圈
啟動的時候就直接在專案的根目錄啟動,用air命令,會直接找到統計目錄下的.air.conf配置檔案,當然也可以自行指定配置檔案
到這裡,基本上就已經完成了gin開發環境的搭建。
Nodemon 開發環境自動重啟服務工具
在開發環境下,往往需要乙個工具來自動重啟專案工程。寫 nodejs 的時候發現 supervisior 在很多地方都有他的身影,nodejs 也有乙個 npm 模組supervisior也是用來監控程序的,不過除了 supervisior 外,還有很多其他的工具 從 github 的評分上看,比較熱...
React之開發環境搭建
安裝cnpm來代替npm,並配置 映象 速度快 npm install g cnpm registry taobao org至此,react的基礎環境就搭建好了 安裝腳手架dva 我的理解dva就是類似乙個建立專案的嚮導 cnpm install g dva cli建立我們的第乙個專案 dva ne...
JSP之開發環境搭建
catalina home對應的值為tomcat安裝目錄,如 f tomcat。tomcat的主要目錄 注意 如果雙擊startup.bat無法啟動tomcat。可以開啟命令列,切換到tomcat的bin目錄下,然後輸入startup.bat,觀察螢幕上出現的資訊,然後根據提示資訊配置環境變數。要停...