我正在嘗試在 Go 中創建我的第一個 monorepo。專案結構如下所示:

如圖所示,該monoplay檔案夾是根目錄。該pb檔案夾包含gRPC code我想在srv_boo/main.go和檔案中使用的生成srv_foo/main.go檔案。
問題是,如何使用和檔案中生成gRPC code的檔案夾?檔案夾結構是否正確?pbsrv_boo/main.gosrv_foo/main.go
還想單獨部署服務。
也許是https://bazel.build/解決方案?
uj5u.com熱心網友回復:
將整個存盤庫作為一個 go 模塊將對此有所幫助,即“Monoplay”根檔案夾中只有一個 go.mod 檔案。然后服務可以使用“github.com/*/monoplay/pb/*”匯入來參考生成的 go 檔案。
這也將集中管理整個存盤庫的依賴關系,因為只有一個 go.mod 檔案,如果你想要的話。
其他替代方案:
使用“go mod edit”:
https
:
//go.dev/ref/mod#go-mod-edit 或者,正如 DazWilkin 建議的那樣,在 proto 檔案中使用“go_package”以及“go-grpc_opt”和“go_opt” ”。
我使用單模塊方法并推薦它。
如果存盤庫將包含大量代碼并且構建所有內容(包括容器影像)很麻煩并且需要很長時間,那么請查看 bazel。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/417946.html
標籤:
