go mod graph 視覺化——gmchart

小白要生髮發表於2021-01-08

之前構建 golang 遇到個問題,就是明明指定了依賴的包版本,在構建時,又自動把版本號給升上去了,當時不知道為什麼。後面知道有個 go mod graph 的命令能列出所有的依賴,試了下,一點都不直觀,還得複製到文字編輯器裡面來來檢索資訊。

於是我就上網查了下相關工具。

檢索 Go Module 依賴關係 視覺化

網上還是有很多工具。大部分方案都 graphvizechart, 或者用繪製圖片,我就試了幾個。

graphviz 這個工具很強大,但需要通過其他渠道安裝,且生成的svg可讀性也不那麼好,特別是依賴的包多起來之後,例如下面這個:

go mod graphviz

於是乎我轉向 echart,

哇哦,看著挺不錯的,滑鼠懸停反饋也不錯,配色也很鮮豔。

go mod echart

echart 方案很漂亮,但沒法用。svg我還能搜尋包名,echart 這個不顯示包名。

好了,吐槽歸吐槽,問題還是要解決的。今天給大家介紹個 go mod graph 視覺化工具—— gmchart

github: github.com/PaulXu-cn/go-mod-graph-...

go get -u github.com/PaulXu-cn/go-mod-graph-chart/gmchart

檢查安裝情況,如下就是成功了

gmchart --help

Usage of ~\go\bin\gmchart:
  -debug int
        is debug model
  -keep int
        start http server not exit

使用

進入 golang 專案,輸入命令:

go mod graph | gmchart

會自動開啟瀏覽器,如果沒有就手動一下

訪問 127.0.0.1:60306 就能看到

可以看到,它將依賴形成了一個 依賴樹,你可以知道某個包在第幾層被引入的,非常直觀。網頁內是一個svg,你要找某個包也非常方便,直接 ctr+F 就能檢索。

找了那麼久,為啥還是沒有一個趁手的工具呢?

我想了下,視覺化是前端的擅長的啊,前端不用 golang 啊,會的也少,會 Golang 的前端,還對 go mod graph 這個功能感興趣的就更少了,所以這個工具只能是我們後端來做了

哎~

其他方案

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章