2012-02-08 5 views
1

Node.jsのファイルモジュールはグローバル変数を認識していますか?もしそうでなければ、ロードしたいファイルモジュールにどのように変数を渡すことができますか?たとえば、今は3つのサーバーを実行する1つのスクリプトがあります。 1つはゲームロビー用、1つはソケットルータ用、もう1つは管理用です。私は別のファイルモジュールにサーバーを分割したいと思います。問題は、ソケットルーターがゲームロビーにアクセスする必要があり、ゲームロビーと管理モジュールがソケットルーターにアクセスする必要があることです。これは可能ですか?ファイルモジュールはグローバル変数を認識していますか?

答えて

2

実際にはありません - ファイル/モジュールで定義された変数は、モジュールに対してローカルです。

あなたは、各サーバがそれを家の受電の方法を持っている必要があります...

を必要なサーバー変数をエクスポートする共通モジュールを作成し、各サーバーにそのモジュールを必要とするが、より良いアプローチはDependency Injectionを使用している場合がありますができ(この場合は、必要なサーバのパラメータで「開始」機能をエクスポートすることによって)。起動時に、マスターサーバーはそれらの他のサーバーへの参照を「注入」します。

var socketRouter = require('./socketRouter.js'); 
var gameLobby = require('./gameLobby.js'); 
var admin = require('./admin.js'); 
socketRouter.start(gameLobby); 
gameLobby.start(socketRouter); 
admin.start(socketRouter); 
+0

これは私がやったことです。 – LordZardeck

関連する問題