¿Cómo sirve Node a los archivos .js del cliente?

Por ejemplo, digamos que estamos tratando de usar socket.io.

En el archivo html servido al cliente, incluimos lo siguiente en el archivo.

 

Así que dos preguntas con respecto a esto:

  1. Cuando el archivo html se entrega al cliente, carga el recurso socket.io.js (http: // localhost: 8080 / socket.io / socket.io.js) sin activar el requestHandler en server.js (tengo un Declaración de registro para cualquier solicitud que llegue a localhost: 8080). ¿Cómo se carga este recurso en el cliente sin activar el RequestHandler?

  2. ¿Dónde encuentra Node el recurso socket.io.js que requiere el cliente?

Suponiendo que está utilizando uno de los ejemplos básicos de Socket.io, esto se debe a que Socket.io anula su identificador con su propio controlador y no ejecutará su controlador si la solicitud es para algo que socket.io administra.

Cuando llame a .listen(app) o .listen(80) , configurará todos los controladores que necesita para procesar los datos y entregar el archivo JS del cliente.