node-devなどを使用して特定のファイルに対してのみnodejsの再起動を切り替える方法はありますか?
私が調べたところ、require.extensionsは、再起動する拡張機能を保持するオブジェクトのようですが、削除しても何も起こらないようです。
私が欲しいのは、通常どおりnode-devを使用できるようにすることですが、再起動せずに特定のファイルが必要になるため、すべてを再起動せずに手動で監視して再ロードできます。
ホット(再)ロードモジュールは、控えめに言っても、ホットポテトです。モジュールは、ロードされるときにクリーンな環境にロードされることを前提としており、ホットロードによってそれが変更されます。これは、メモリリークやメモリポインタの破損など、あらゆる種類の恐ろしいバグにつながる可能性があり、正直なところ、面倒な価値はありません。これは良い答えのある同様の質問です。
私が現在取り組んでいるプロジェクトの1つである監督者は、このテーマに非常に関連しています。
これは実験的なクラスターマネージャーであり、ワーカーをラップし、ファイルシステムの変更を監視し、ワーカーのローリングリスタート(1つずつリスタート)を実行できるため、ダウンタイムが発生することはありません。
ただし、現在、クライアントを特定のワーカーに接続する方法はないため、最悪のシナリオでは、クライアントは、アプリの異なるバージョンを実行している2つ以上のワーカーを処理します。最も理想的な状況ではありません:)