dthree dthree - 6 months ago 22
Node.js Question

Where is the Socket.IO client-side .js file located?

I am trying to get socket.io (Node library) to work.

I have the server-side js working, and it is listening. The socket.io website states simply:

<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>


This is nice, however, what JS file am I importing!?!

I went into the node_modules directory, where I installed socket.io through npm, and inside
socket.io/lib/
is
socket.io.js
file. However, this is server-side (uses the phrase
require()
, which errors on the client).

I have spent an hour looking around and I can't get any client .js file to work.

What am I missing?

Answer

I managed to eventually answer this for myself.

The socket.io getting started page isn't clear on this, but I found that the server side of socket.io automatically hosts the .js file on starting node, in the directory specified in the documentation:

"/socket.io/socket.io.js"

So you literally just point to this url regardless of your web app structure, and it works.