Also, ein Jahr später, und mehr Knotenstudien später, fand ich, dass die vorherige Antwort ziemlich unvollständig ist und zu einer suboptimalen Verwendung von Express führen kann. Dies ist der korrekte Ansatz, um Node + Express + Socket.io ohne Probleme zu verwenden:
Ersetzen Sie auf /bin/www.js var http = require('http');
durch var server = require('http').Server(app);
und entfernen Sie var server = http.createServer(app);
Und das ist es ... Benutze deine Routen normalerweise, platziere Chats überall, keine Probleme mehr.
Hinweis : Ich habe die alte Antwort unbearbeitet gelassen, um Kommentare und solche relevanten und den Kontext zu erhalten.
Ich habe mit meinen Dateien mehr herumgespielt und es zur Arbeit gebracht, hier habe ich es zum Laufen gebracht:
./ bin / www: Sie müssen die Anforderung app.js beibehalten oder sie wird nicht funktionieren.
%Vor%./ app.js: Alles was auf www war, geht hier vor dem letzten Export.
%Vor%Ich habe den Express-Generator verwendet, um das Projekt zu erstellen, deaktivierte die Routen, da Socket.io anscheinend keine Express-Routen unterstützt.
Tags und Links javascript node.js socket.io express