首頁 >後端開發 >Golang >如何在檔案更改時自動重新編譯 Go 伺服器並重新載入?

如何在檔案更改時自動重新編譯 Go 伺服器並重新載入?

Susan Sarandon
Susan Sarandon原創
2024-12-16 02:29:10468瀏覽

How Can I Automate Go Server Recompilation and Reloading on File Changes?

Go 中檔案變更時伺服器自動重新編譯和重新載入

檔案變更時自動重新編譯並重新載入Go 伺服器的流程對於載入Go 伺服器的流程對於載入高效的開發和調試。一種常用的技術是使用 Guard,其靈感來自同名的 Ruby gem。但是,將伺服器傳送到後台時可能會遇到問題。

克服此限制並為 GNU/Linux 和 Mac 提供跨平台相容性的替代方法是 Nodemon。使用npm 全域安裝Nodemon 後,您可以導覽至程式碼目錄並執行以下指令:

nodemon --watch './**/*.go' --signal SIGTERM --exec 'go' run cmd/MyProgram/main.go

此指令完成幾件事:

  1. 監視檔案變更: Nodemon 監控目前目錄及其子目錄中的所有.go 檔案。當這些文件中的任何一個發生變更時,都會觸發重建過程。
  2. 傳送 SIGTERM 訊號:當偵測到檔案變更時,Nodemon 會傳送 SIGTERM 訊號給目前執行的 Go 伺服器。這會乾淨地終止伺服器。
  3. 重建並重新啟動伺服器:收到SIGTERM 訊號後,Nodemon 使用'go' run cmd/MyProgram/main.go 編譯Go 程式碼並重新啟動伺服器

透過利用Nodemon的即時文件監控和訊號處理功能,該解決方案提供了可靠的以及跨平台的方式自動重新編譯和重新加載你的Go伺服器,使開發和調試更加高效。

以上是如何在檔案更改時自動重新編譯 Go 伺服器並重新載入?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn