我的老师告诉我使用:
const EventEmitter = require('events').eventEmitter;
但是,当前的nodejs文档说要使用:
const EventEmitter = require('events');
我的老师错了,node.js改变了吗?为什么会这样?
答案 0 :(得分:4)
Nodejs曾要求您使用:
var EventEmitter = require('events').eventEmitter
但是,2013年5月,this change已在GitHub上提交:
事件:有事件模块导出EventEmitter此更改为100% 向后兼容。
此更改将使
EventEmitter
使用稍微简单/更好 并坚持亚组提出的最佳做法。var EventEmitter = require("events") var emitter = new EventEmitter()
唯一的区别是我们现在必须将
EventEmitter
设置为EventEmitter
的属性,用于向后兼容,就像我们一样Stream
我们还在
usingDomains
上设置了EventEmitter
属性 构造函数本身,因为它与它的当前用法一致require("events").usingDomains = true
还有其他内部因素也可以从这一变化中受益 比如
StringDecoder
现在允许更简单的语法:
var EventEmitter = require('events');
同时仍保持与旧语法的向后兼容性。