Menu
CoddyTech

Router de Express

Parte de la sección Conceptos básicos de Express del Journey de Node.js de Coddy. Lección 16 de 20.

server.js ahora contiene páginas, rutas de API y middleware, y sigue creciendo.

// routes/books.js
const router = express.Router();
router.get('/', (req, res) => res.json(books));
router.get('/:isbn', (req, res) => res.json(findBook(req.params.isbn)));
export default router;

// server.js
app.use('/api/books', booksRouter);

express.Router() crea una pequeña aplicación con sus propias rutas, alojada en su propio archivo. app.use('/api/books', booksRouter) la monta: / del enrutador responde a GET /api/books, y /:isbn responde a GET /api/books/9780141439518. El prefijo se escribe una sola vez, en app.use. Los errores lanzados dentro de un enrutador siguen llegando al controlador de errores de la aplicación.

El nuevo archivo routes/recipes.js ya tiene una ruta, /tags.

challenge icon

Desafío

Fácil
  • Mueve las cuatro rutas de /api/recipes de server.js a routes/recipes.js, debajo de /tags.
  • Monta el enrutador en /api/recipes.

Envía GET /api/recipes/tags, GET /api/recipes/2 y GET /api/recipes/2/scale?by=lots.

Pruébalo tú mismo

import express from 'express';
import { recipes } from '../data.js';

const router = express.Router();

// Cada etiqueta, una sola vez, en orden alfabético.
router.get('/tags', (req, res) => {
    const tags = new Set(recipes.flatMap((recipe) => recipe.tags));
    res.json([...tags].sort());
});

// Mueve las rutas de /api/recipes desde server.js aquí, debajo de /tags.
// Dentro de un router, las rutas son relativas al lugar donde está montado.

export default router;
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 Conceptos básicos de Express