用法的话就是

引用 eventEmitter 

实例 event

 注册 on

触发 emit

var $event = require('events');
var myEvent = new $event.EventEmitter();
myEvent.on('getData',function(data)
{
console.log('事件触发');
console.log(data);
});

myEvent.emit('getData','事件参数')

高级用法 这块看代码能明白 具体项目怎么使用 还有点朦胧  在这做个记录 以后 有机会在来查阅

首先得知道

exports和module.exports的区别

​终于讲清楚了nodejs中exports和module.exports的区别_慕课手记​

**exports **返回的是模块函数

**module.exports **返回的是模块对象本身,返回的是一个类

 好我们写一个自定义事件

_base.js

var events=require('events');
var util=require('util');

function _base(){
this.emitter=new events.EventEmitter(this);
};

util.inherits(_base,events.EventEmitter); //继承

_base.prototype.onEvent=function(eventName,callback){
this.emitter.on(eventName,callback);
}

_base.prototype.emitEvent=function(eventName,arg){
this.emitter.emit(eventName,arg);
}


module.exports=_base;

blogInfo.js

var _base=require('./base_');
var util=require('util');
function blogInfo(){
this.base=new _base();
}

util.inherits(blogInfo,_base);

blogInfo.prototype.onSave=function(blog){
this.base.onEvent('saveStart',function(blog){
console.log('saveStart',blog);
});

this.base.onEvent('blogCount',function(blog){
console.log('blogCount',blog);
});

this.base.onEvent('userInfoCount',function(blog){
console.log('count',blog);
});

this.base.onEvent('saveEnd',function(blog){
console.log('saveEnd',blog);
});
};

blogInfo.prototype.emitEvent=function(blog){

this.base.emitEvent('saveStart',blog);

this.base.emitEvent('blogCount',blog);

this.base.emitEvent('userInfoCount',blog);

this.base.emitEvent('saveEnd',blog);
};
module.exports=blogInfo;

blog.js

var BlogInfo=require('./blogInfo');


exports.blog_save=function(newblog){

var blogInfo=new BlogInfo();

blogInfo.onSave(newblog);

blogInfo.emitEvent(newblog);
};

app.js

var http = require('http');        
var blog= require('./blog');


var webServer = function (req, res){
if(req.url!='/favicon.ico'){
var newblog={title:"标题",content:"内容"};
blog.blog_save(newblog);

res.writeHead(200, {'Content-Type': 'text/html;charset=utf-8'});
res.write('<html><body>');
res.write('<h1>*** save blog ***</h1>');
res.write('<h2>Hello!</h2>');
res.end('</body></html>');
}
};

var createWebServer=http.createServer(webServer);

createWebServer.listen(8888);
console.log('listen 8000');

nodejs EventEmitter_nodejs

具体内容意思 看一下 布衣大神的文章

​node.js 如何继承 events 自定义事件及触发函数 一介布衣​

就到这了 站在大神的肩膀上写代码

nodejs EventEmitter_html_02