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
ヘルパー (?) 自体がパラメーターを受け入れないように見えるため、これを行う他の方法は考えられません。