Más rutas
Parte de la sección Conceptos básicos de Express del Journey de Node.js de Coddy. Lección 3 de 23.
Un sitio tiene más de una página, así que el servidor necesita una ruta para cada dirección.
app.get('/books', (req, res) => {
res.send('12 books on the shelf');
});
app.get('/opening-hours', (req, res) => {
res.send('Monday to Friday, 10 to 6');
});Express lee la dirección de cada solicitud y llama a la ruta que tiene esa dirección: GET /books llega a la primera función, GET /opening-hours a la segunda. Si una dirección no tiene una ruta, Express muestra su propia página 404. La dirección de una ruta siempre empieza con /.
Recipe Box vuelve, con un archivo data.js que contiene cuatro recetas y una ruta /recipes que muestra sus títulos.
Desafío
FácilRecipe Box necesita una página «Acerca de» junto a la página de inicio y la lista de recetas.
- En
server.js, donde el comentario dice// Add the /about page here., añade una ruta para la ruta/about. Envía esta oración, incluido el punto final:Recipe Box collects family recipes. - Deja las rutas
/y/recipestal como están.
Pruébalo: Pulsa «Ejecutar» y envía /about. Deberías ver Recipe Box collects family recipes. Envía /recipes: los cuatro títulos de recetas, uno por línea. Después, envía /about-us. Ninguna ruta tiene esa dirección, así que Express responde con el estado 404 y Cannot GET /about-us. La lista de rutas de la barra de solicitudes muestra las rutas que tiene tu aplicación.
Pruébalo tú mismo
import express from 'express';
import { recipes } from './data.js';
const app = express();
app.get('/', (req, res) => {
res.send('Welcome to Recipe Box');
});
// type('text') envía texto sin formato, por lo que cada título aparece en su propia línea.
app.get('/recipes', (req, res) => {
res.type('text').send(recipes.map((recipe) => recipe.title).join('\n'));
});
// Agrega la página /about aquí.
app.listen(3000, () => {
console.log('Recipe Box is running on port 3000');
});
Todas las lecciones de Conceptos básicos de Express
Practica por tu cuenta: Playground de Express