Ich versuche, socket.io (Node-Bibliothek) zu arbeiten.Wo befindet sich die Socket.IO-clientseitige .js-Datei?
Ich habe die serverseitige js funktioniert, und es hört zu. Die socket.io Website heißt es einfach:
<script src="/socket.io/socket.io.js"></script>
<script>
var socket = io.connect('http://localhost');
socket.on('news', function (data) {
console.log(data);
socket.emit('my other event', { my: 'data' });
});
</script>
Das ist schön, aber was JS-Datei importieren bin ich!?!
Ich ging in das Verzeichnis node_modules, wo ich socket.io bis npm installiert habe, und innerhalb socket.io/lib/
ist socket.io.js
Datei. Dies ist jedoch serverseitig (verwendet den Ausdruck require()
, der Fehler auf dem Client).
Ich habe eine Stunde damit verbracht, mich umzusehen, und ich kann keine Client-.js-Datei zur Arbeit bekommen.
Was fehlt mir?
Es ist eine Datei, die von dem Knotenserver on-the-fly generiert wird, ja. Ich fand auch merkwürdig, wie sie kein Wort darüber sagen, es ist fast so, als ob sie erwarten, dass jeder blind ihr Beispiel kopiert, ohne zu hinterfragen, was dort vor sich geht. – Mahn
Und wenn es dann nicht funktioniert, was machen wir? Hier bin ich und suche S/O nach Antworten ... (und finde immer noch keine). Ich hasse Magie. – jleach
Dies funktioniert nur, wenn der Prozess, der socket-io serverseitig ausgeführt wird, der gleiche Prozess ist, der die Route behandelt hat/den HTML/JS bereitgestellt hat. - Andernfalls müssen Sie den URL angeben: Port wie "http: // localhost: 3466/socket.io/socket.io.js". I.e. (obv) Wenn Sie eine Webanwendung haben, die versucht, auf einen anderen Prozess zu verweisen, müssen Sie die gesamte URL angeben – mmcrae