Menu
CoddyTech

Configuración

Parte de la sección API REST del Journey de Node.js de Coddy. Lección 23 de 25.

En tu computadora portátil, el servidor escucha en el puerto 3000. Un servicio de alojamiento lo inicia con node server.js y elige el puerto por su cuenta, pasándolo en el entorno como PORT. El host también llama a una ruta como GET /health de vez en cuando y reinicia el servidor cuando deja de responder.

// MAX_UPLOAD_MB=5 node server.js
const maxUpload = Number(process.env.MAX_UPLOAD_MB ?? 2);
const shopName = process.env.SHOP_NAME ?? 'My Shop';

Todos los valores de process.env son cadenas, y '5' + 1 es '51', así que convierte los números con Number. Lee la configuración en un archivo, config.js, e impórtala en todas partes, para que nada más acceda a process.env.

challenge icon

Desafío

Fácil

En un servicio de alojamiento, el proveedor elige el puerto y pasa la configuración a tu servidor mediante el entorno. Lee la configuración del entorno en un solo lugar y añade una ruta a la que el proveedor pueda llamar para comprobar que el servidor está activo.

  1. En config.js, lee port de la variable de entorno PORT y pageSize de PAGE_SIZE. Ambas llegan como texto, así que conviértelas en números. Si falta una variable, conserva los valores actuales: 3000 y 10.
  2. En server.js, importa config. Inicia el servidor en config.port e imprime el puerto que utiliza. Con PORT=8080, la Consola muestra exactamente:
    Task tracker API on port 8080
  3. En routes/tasks.js, importa también config. En la ruta de la lista, una solicitud sin ?limit= usa config.pageSize en lugar de 10. Si la solicitud incluye ?limit=, ese valor tiene prioridad.
  4. En server.js, añade GET /health, fuera del enrutador de tareas. Devuelve el estado 200 y exactamente:
    { "status": "ok" }

Esta lección se ejecuta con PORT=8080 y PAGE_SIZE=2.

Pruébalo: pulsa Ejecutar y la Consola imprime Task tracker API on port 8080. GET /api/v1/tasks devuelve 2 tareas con "total": 3 y "pages": 2. GET /api/v1/tasks?limit=3 devuelve las 3. GET /health devuelve { "status": "ok" }.

Pruébalo tú mismo

// Los ajustes que cambian entre tu portátil y un servidor.
// Lee cada uno de process.env y conserva estos valores como predeterminados.
export const config = {
    port: 3000,
    pageSize: 10,
};
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de API REST

Practica por tu cuenta: Playground de Express