ホームページ > バックエンド開発 > Golang > ファイル変更時に Go サーバーを自動再コンパイルしてリロードするにはどうすればよいですか?

ファイル変更時に Go サーバーを自動再コンパイルしてリロードするにはどうすればよいですか?

Barbara Streisand
リリース: 2024-12-23 06:38:13
オリジナル
640 人が閲覧しました

How Can I Auto-Recompile and Reload My Go Server on File Changes?

ファイル変更時の Go サーバーの自動再コンパイルとリロード

開発者は、コードベースに変更が加えられるたびに、Go サーバーを自動的に再コンパイルしてリロードする必要があることがよくあります。これにより、手動介入なしで最新のコードが常に実行されるようになります。

この問題に対処する 1 つの試みとして、Ruby エコシステムの Guard ツールを使用して .go ファイルの変更を監視することが含まれていました。ただし、ツールが foo プロセスをバックグラウンドに適切に送信できず、無期限のハングを引き起こすため、問題が発生しました。

Nodemon を使用したクロスプラットフォーム ソリューション

クロスプラットフォームの代替ソリューションGNU/Linux および Mac と互換性のあるプラットフォームは Nodemon を利用します。このツールは、自動ファイル変更検出と構成可能なコマンド実行メカニズムを提供します。

このソリューションを実装するには:

  1. npm i -g nodemon を使用して Nodemon をグローバルにインストールします。
  2. コード ディレクトリに移動し、次のコマンドを実行します。コマンド:
nodemon --watch './**/*.go' --signal SIGTERM --exec 'go' run cmd/MyProgram/main.go
ログイン後にコピー

説明:

  • --watch './**/*.go': 現在のすべての .go ファイルを再帰的に監視するように指定します。ディレクトリとサブディレクトリ。
  • --signal SIGTERM: Nodemon に SIGTERM シグナルを送信するよう指示します。変更が検出されるたびに実行中のプロセスに送信されます。
  • --exec 'go' run cmd/MyProgram/main.go: SIGTERM シグナルの受信後に実行されるコマンドを定義します。

このスクリプトは、.go ファイルが変更されるたびに Go サーバーを自動的に再コンパイルしてリロードするようになり、シームレスで効率的な開発ワークフローを提供します。

以上がファイル変更時に Go サーバーを自動再コンパイルしてリロードするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート