← Node.js: JavaScript fuera del navegador

Sesión 13 · Semana 5

Los límites de hacerlo a mano

Hoy · Hoja de ruta

  1. 1. Aprende: Qué problemas concretos tiene tu servidor, y qué tendrías que escribir para resolverlos.
  2. 2. Haz: Documenta esos problemas sobre tu propio código.
  3. 3. Comprueba: Puedes justificar por qué mañana instalamos algo.

Antes de empezar · 5 minutos, sin apuntes

  1. ¿Cuántas líneas ocupa hoy tu enrutado?
  2. ¿Qué tendrías que tocar para añadir una ruta con dos parámetros?
  3. ¿Cuántas veces has repetido la lectura del cuerpo?

La cuenta de lo que falta

Lo que necesitas Lo que tienes Lo que costaría
Rutas con parámetros Partir el texto a mano Un comparador de patrones
Método y ruta a la vez Condicionales anidados Una tabla de rutas
Cuerpo JSON ya analizado Leerlo en cada ruta Un paso previo común
Errores en un solo sitio Un try/catch por ruta Un tratamiento central
Registro de peticiones Repetido en cada rama Un paso previo común
Estáticos Lo has escrito tú Bastante código

Ninguna es imposible. Todas juntas son un framework, y ya existe uno pequeño y muy extendido que hace exactamente eso.

Esta sesión es el punto de la unidad

Si hubiéramos empezado por Express, cada una de sus piezas sería magia con nombre. Después de dos semanas escribiendo esto a mano, app.get("/api/productos/:id", ...) no es magia: es la escalera de condicionales que tienes delante, resuelta.

Y el día que Express se quede corto —una cabecera rara, un flujo que no encaja— sabrás bajar un nivel, porque ese nivel lo has escrito tú.

El patrón que ya has escrito sin saberlo

Mira tu servidor: seguro que hay cosas que haces antes de decidir la ruta —registrar la petición, analizar la URL— y cosas que haces después —cerrar, capturar errores—. Esa idea de «una cadena de pasos por los que atraviesa toda petición» tiene nombre, y es la pieza central de mañana:

Una petición atravesando la cadena
  1. Registro
  2. Analizar el cuerpo
  3. Ruta
  4. Errores
  5. Respuesta

Tarea 13 · El informe

Sobre tu propio código:

  1. Cuenta las líneas del enrutado y el nivel máximo de anidamiento.
  2. Marca todo lo que se repite en más de una ruta.
  3. Escribe qué habría que cambiar para añadir GET /api/categorias/:nombre/productos.
  4. Escribe un comparador de rutas con parámetros y comprueba lo que cuesta.
  5. Redacta media página: qué problemas tiene tu servidor y qué esperas de un framework.
Objetivo mínimoEl informe escrito, con ejemplos de tu código.
Si lo tienesEl comparador de rutas con parámetros, funcionando.
RetoImplementa tu propia cadena de pasos por los que atraviesa la petición.

Checkpoint · fin de la sesión 13

  • Nombras seis problemas concretos de tu servidor.
  • Sabes lo que costaría resolverlos a mano.
  • Entiendes la idea de una cadena de pasos.
  • Puedes justificar la dependencia que instalarás mañana.