2016-09-21 6 views
0

先生が使用することを私に言った:か、なぜこれが私の先生間違った、やったのNode.js変更 「require( 'events')。eventEmitter」を「require( 'events')」に変更しますか?

const EventEmitter = require('events'); 

です

const EventEmitter = require('events').eventEmitter; 

をしかし、現在のnodejsのドキュメントでは、使用することを言いますか?

+1

ノードの最新バージョンでどちらかを使用できますが、以前は 'require( 'events')。eventEmitter'を使用する必要がありました。 – jfriend00

+1

あなたの質問を編集してより明確にし、うまくいけば質問がどのようなものであるべきかの例をあなたに伝えます。これがあなたが意図したものではない場合は、修正してください。しかし、それを明確にする努力をしてください。 – jfriend00

答えて

4

Nodejsを使用する必要がために使用される:2013年5月に、this changeはGitHubの上で提出された、

var EventEmitter = require('events').eventEmitter 

しかし:

イベント:この変更は、100% で持つEventEmitterイベントモジュールの輸出を持っています下位互換性があります。

この変更により、EventEmitterを少しシンプルに/より細かく とし、substackで設定されているベストプラクティスを遵守します。

var EventEmitter = require("events") 

var emitter = new EventEmitter() 

唯一の違いは、我々は今、我々は我々はまた、EventEmitter コンストラクタ自体にusingDomainsプロパティを設定している Stream

をどうのように後方互換性のためにEventEmitterの プロパティとしてEventEmitterを設定する必要がありますこれは現在の使用状況と一致するためです。 require("events").usingDomains = true

他の内部機能まだ古い構文との下位互換性を維持しながら、

var EventEmitter = require('events'); 

:今すぐ簡単な構文を可能にすること、この変更からだけでなく

StringDecoderよう

+0

なぜdownvote?オペレータは 'const eventEmitter = require( 'events');と' const eventEmitter = require( 'events')。eventEmitter'を実行しています。これは実際のGitHubチェックインを示しています。 'const eventEmitter = require( 'events'); 'が追加され、それを説明するコメントとその変更が下位互換性をどのようにしたかが示されています。 – jfriend00

+1

何人かの人々は何の理由もなくここに沈黙して座っているだけです –