我认为我严重误解了如何使用 module.exports。似乎每个模块都在覆盖最后一个吐出的内容。
应用程序.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);
(相同的)
模块A.js:
module.exports = function(io, client){
this.test = 'foo';
return this;
};
模块B.js:
module.exports = function(io, client){
this.test = 'bar';
return this;
};
回到app.js:
console.log(moduleB.test);
(打印“酒吧”)
console.log(moduleA.test);
(也打印“bar”)
有人可以解释我做错了什么吗?我想不出任何其他方法来做到这一点,因为exports
助手(?)本身似乎不接受参数。