Link index.html client.js and server.js
The browser (because you have <script src="/client.js">
) makes a request for /client.js
The server:
- Gets the request
- Runs
response
- Reads
index.html
- Sends it to the browser
Since index.html
starts with <
, the browser throws an error when it tries to run it as JavaScript.
Why are you giving the browser index.html
when it asks for client.js
?
You need to examine the request object, determine what URL is being asked for, write logic to return the correct resource with the correct status code and the correct content-type, and then return that to the client.
The Node.js documentation has an example of this but you should probably stop trying to use createServer
directly — since it involves a massive amount of wheel reinvention — switch to using Express and work through the (very short) getting started guide which includes a section on using the static
module to serve up static files.