I use event emitter and it seems that I need it in several module, I mean I want to use the same instance my question is weather its better to create one module which expose the event emitter instance and how its recommended to do it?
What I did is like following which I share between modules but not sure if its recommended ...please let me know
var events = require('events');
var eventEmitter = new events.EventEmitter();
module.exports = {
getEventEmitter: function () {
return eventEmitter;
}
};
The code you have is fine.
It could be simplified like this, if you want:
var events = require('events');
var eventEmitter = new events.EventEmitter();
module.exports = eventEmitter;
Note that while this generally works fine (I do this a lot), it is possible to break the require
module cache and end up with a different instance.