El módulo http
Parte de la sección Conceptos básicos de Express del Journey de Node.js de Coddy. Lección 2 de 23.
Express hace por ti un trabajo que no puedes ver. Lo muestra el propio módulo node:http de Node, sobre el que está construido Express.
import http from 'node:http';
const server = http.createServer((req, res) => {
if (req.url === '/repairs') {
res.statusCode = 503;
res.end('Repairs are closed today');
return;
}
res.end('Welcome to the bike shop');
});
server.listen(3000);Node llama a la función para cada solicitud. No hay rutas: tú comparas req.url, la ruta solicitada. res.statusCode es el código de estado, un número que indica cómo fue: 200 significa que todo está bien, 404 significa que no se encontró. res.end envía el cuerpo y finaliza la respuesta, así que establece el estado antes de llamarlo.
Desafío
FácilAntes de seguir con Express, escribirás un pequeño servidor con el módulo node:http propio de Node para ver el trabajo que Express hace por ti.
- En
server.js, dentro de la función que se pasa ahttp.createServer, consultareq.url. Cuando sea/, envía el textoHome. - Para cualquier otra ruta, establece el código de estado en 404 y envía el texto
Not found. Establece el estado antes de enviar la respuesta. Una vez que la respuesta haya finalizado, su estado no puede cambiar.
Pruébalo: Pulsa «Ejecutar» y envía /. Deberías ver Home con el estado 200. Envía /nope y después /recipes/today. En ambos casos debería aparecer Not found con el estado 404. En la lección 1, Express envió este 404 por ti; aquí lo escribirás tú.
Pruébalo tú mismo
import http from 'node:http';
const server = http.createServer((req, res) => {
// Responde a / con Home y a cualquier otra ruta con 404 Not found.
res.end('Hello from Node');
});
server.listen(3000, () => {
console.log('Listening on port 3000');
});
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Conceptos básicos de Express
Practica por tu cuenta: Playground de Express