Ich habe eine Socket-Verbindung erstellt, und im Moment versuche ich nur aufzuräumen und alles gut organisiert.Socket.io erstellen eine separate Event-Handler-Datei
Hier ist ein Bild von meiner aktuellen Dateistruktur FILE STRUCTURE
Also, was ich will, es zu tun nehmen ist
socket.on("send message", function(data){
io.sockets.emit("new message", data);
});
und legen in der gerufenen socketEvents.js-Datei, die in Haupt befindet - -> js.
Ich bin jedoch nicht 100% sicher, wie Sie diese Datei bei erfolgreicher Verbindung einbinden können. Ich habe versucht, etwas wie require() zu verwenden; aber ohne Erfolg. Gibt es eine Standardmethode zum Einbeziehen einer separaten Datei zum Ausführen von Ereignissen? Oder ist es keine gute Übung?
EDIT:
ist hier ein jsfiddle nur den gesamten Code zur Verfügung zu haben: https://jsfiddle.net/7qya7j18/
Ich sehe, was Sie tun. Gibt es einen Grund, dass Sie nicht Ihre Anforderung ('./ MySockets') (Server) aufrufen müssen; ein .js? Wie ich eine 404 zu finden finde meine Datei namens socketEvents.js –
@factor_za - require() wird automatisch .js hinzufügen, aber ein 404 klingt wie das, was der Browser als Fehler sieht, kein Serverfehler so jetzt Sie Ton verwirrt. – jfriend00
Ja. Es ist ein Browserfehler. Nicht Serverseite. Es hat Mühe, die Datei zu finden. Aber mit app.use (express.static ('main')); Ich würde denken, dass mit require ('js/socketEvents') (Server), um zum js-Ordner zu gelangen, wo die socketEvents-Datei gefunden wird, funktionieren würde. Es scheint jedoch, dass der Browser nicht in der Lage ist, die Datei zu finden. Aber die Anforderung funktioniert. –