Ich habe 3 verschiedene Javascript-Dateien, die kleinste gibt ein Ereignis aus, während die zweite (größere) Datei das Ereignis aufnimmt und es weiter an die Hauptdatei sendet. Dies ist, was habe ich bisher versucht:Knoten Ereignis Emitter in anderen Modulen
//mini.js
var EventEmitter = require('events').EventEmitter;
var ee = new EventEmitter;
console.log("Emitting event");
var message = "Hello world";
ee.emit('testing',message);
//second.js
var mini = require('./mini.js');
var EventEmitter = require('events').EventEmitter;
var ee = new EventEmitter;
mini.on('testing',function(message){
console.log("Second file received a message:",message);
console.log("Passing further");
ee.emit('testing',message);
});
//main.js
var sec = require('./second.js');
sec.on('testing',function(message){
console.log("Main file received the message",message);
});
Allerdings bekomme ich
mini.on('testing',function(message){
^
TypeError: undefined is not a function
Fehler, wenn die Datei mit dem Knoten ausgeführt wird.
Was mache ich hier falsch? Danke
@NedasMikoleika benenne in diesem Fall ** second.js ** in ** main.js ** um und das ist es oder da fehlt mir hier etwas? – Ismail
Ich habe eigentlich alles andere (den Rest meines Servers) in der Datei ** main.js **. – Nedas
@NedasMikoleika kein Problem, füge einfach den Inhalt von ** second.js ** zu deiner ** main.js ** Datei hinzu. – Ismail