事件发射器在模块间共享

我使用事件发射器,似乎我需要它在几个模块,我的意思是我想使用相同的实例我的问题是天气它更好地创build一个模块,揭露事件发射器实例,以及如何推荐做到这一点?

我所做的就像下面我分享模块之间,但不知道如果它的build议…请让我知道

var events = require('events'); var eventEmitter = new events.EventEmitter(); module.exports = { getEventEmitter: function () { return eventEmitter; } }; 

你有的代码是好的。

它可以这样简化,如果你想要:

 var events = require('events'); var eventEmitter = new events.EventEmitter(); module.exports = eventEmitter; 

请注意,虽然这通常工作正常(我做了很多), 但有可能打破require模块caching,并最终以不同的实例。