2016-09-21 30 views
0

Mein Lehrer sagte mir, zu verwenden:Ändern "require ('events'). EventEmitter" to "require ('events')"?

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

Aber die aktuelle NodeJS Dokumentation sagt zu verwenden:

const EventEmitter = require('events'); 

ist mein Lehrer falsch, tat node.js Änderung oder warum ist das?

+1

Es scheint, dass Sie entweder in den neuesten Versionen von Knoten verwenden können, aber Sie mussten 'require ('events'). EventEmitter' verwenden. – jfriend00

+1

Ich habe Ihre Frage bearbeitet, um sie klarer zu machen und Ihnen hoffentlich ein Beispiel dafür zu geben, wie eine Frage sein sollte. Wenn dies nicht genau das ist, was Sie beabsichtigt haben, dann korrigieren Sie es bitte, aber bemühen Sie sich, es klar zu halten. – jfriend00

Antwort

4

NodeJS verwendet, um Sie benötigen zu verwenden:

var EventEmitter = require('events').eventEmitter 

Aber im Mai 2013 wurde this change auf GitHub vorgelegt:

Ereignisse: Ereignisse Modul exportiert haben EventEmitter Diese Änderung ist 100% abwärtskompatibel.

Diese Änderung macht die Verwendung von EventEmitter etwas einfacher/netter und hält sich an die von substack angegebenen besten Praktiken.

var EventEmitter = require("events") 

var emitter = new EventEmitter() 

Der einzige Unterschied ist, dass wir jetzt EventEmitter als Eigenschaft EventEmitter für die Abwärtskompatibilität zu setzen haben, wie wir mit Stream

haben wir setzen auch die usingDomains Eigenschaft auf dem EventEmitter Konstruktor selbst weil das mit seiner aktuellen Verwendung von require("events").usingDomains = true

übereinstimmt Es gibt andere Interna, die profitieren würden aus dieser Änderung auch wie StringDecoder

die jetzt die einfachere Syntax erlaubt:

var EventEmitter = require('events'); 

unter Beibehaltung der Abwärtskompatibilität mit der älteren Syntax.

+0

Warum der Downvote? Das OP fragt nach 'const eventEmitter = require (' events '); 'vs.' const eventEmitter = require (' events '). EventEmitter' und das zeigt den aktuellen GitHub-Check, wo die Fähigkeit' const eventEmitter = require ('events'); 'wurde hinzugefügt und zeigt den Kommentar, der es erklärt und wie diese Änderung rückwärtskompatibel gemacht wurde. – jfriend00

+1

Einige Leute sitzen hier einfach ohne Grund zu Downvote –