module.exports の使い方をひどく誤解していると思います。すべてのモジュールが、最後のモジュールが吐き出したものを上書きしているようです。
app.js :
var express = require("express")
, app = express()
, routes = require('routes')
, server = app.listen(1337, "0.0.0.0")
, io = require('socket.io').listen(server)
, redis = require("redis")
, client = redis.createClient();
var moduleA = require("./moduleA")(io, client);(socket.io と redis クライアントを渡す必要があります)
var moduleB = require("./moduleB")(io, client);(同じ)
moduleA.js :
module.exports = function(io, client){
this.test = 'foo';
return this;
};
moduleB.js :
module.exports = function(io, client){
this.test = 'bar';
return this;
};
app.jsに戻ります:
console.log(moduleB.test);( "バー" を表示)
console.log(moduleA.test);( "bar"も表示されます)
誰かが私が間違っていることを説明できますか? exportsヘルパー (?) 自体がパラメーターを受け入れないように見えるため、これを行う他の方法は考えられません。