私は 2 つの比較的大きな socket.io アプリを作成しました。1 つはゲーム用で、もう 1 つはチャット用で、2 つの名前空間に分けました。
これらをメインファイルapp.js
から名前空間ディレクトリに移動し、すべての機能をそのままにして、エクスプレスアプリでそれらを必要とするだけです。
これについてどうすればよいでしょうか、または他の方法でやろうとしていることの効果を得る方法はありますか?
私は 2 つの比較的大きな socket.io アプリを作成しました。1 つはゲーム用で、もう 1 つはチャット用で、2 つの名前空間に分けました。
これらをメインファイルapp.js
から名前空間ディレクトリに移動し、すべての機能をそのままにして、エクスプレスアプリでそれらを必要とするだけです。
これについてどうすればよいでしょうか、または他の方法でやろうとしていることの効果を得る方法はありますか?
別のファイルを使用するには、node.js でモジュールを使用し、require を使用してそれらをロードする必要があります。
モジュールには、モジュール関数を呼び出して対話できるようにするための特別な構造と構文があります。
ここでモジュールについて読んでください: http://nodejs.org/docs/latest/api/modules.html
モジュール内の関数、オブジェクト、およびデータと対話する必要がある場合、アプリケーションのアーキテクチャを作り直すのは大変な作業になる可能性があります。
これは、アプリケーションのアーキテクチャおよび技術設計のプロセスにおいて、開発の初期段階から注意しなければならないことです。
同じソケットを使用するには、子モジュールを必要とする親モジュールでそれを初期化し、ソケット アプリ ハンドルをそれらの子ノードに渡して、それらが使用できるようにする必要があります。
それを行うための最悪で簡単なオプションは、商用の世界では絶対にオプションではありません.jsファイルのコンテンツをロードして、それをeval()することです。しかし、覚えておいてください - これは絶対にお勧めできません。商用の世界では絶対に使用しないでください。