Mais rotas
Parte da seção Fundamentos de Express do Journey de Node.js da Coddy. Lição 3 de 23.
Um site tem mais de uma página, então o servidor precisa de uma rota para cada caminho.
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');
});O Express lê o caminho de cada solicitação e chama a rota com esse caminho: GET /books chega à primeira função, GET /opening-hours à segunda. Um caminho sem rota exibe a própria página 404 do Express. O caminho de uma rota sempre começa com /.
Recipe Box está de volta, com um arquivo data.js que contém quatro receitas e uma rota /recipes que lista os títulos delas.
Desafio
FácilO Recipe Box precisa de uma página Sobre, junto à página inicial e à lista de receitas.
- Em
server.js, onde o comentário diz// Add the /about page here., adicione uma rota para o caminho/about. Ela envia esta frase, incluindo o ponto final:Recipe Box collects family recipes. - Deixe as rotas
/e/recipescomo estão.
Experimente: Pressione Executar e envie /about. Você deverá ver Recipe Box collects family recipes. Envie /recipes: os quatro títulos de receitas, um por linha. Em seguida, envie /about-us. Nenhuma rota tem esse caminho, então o Express responde com o status 404 e Cannot GET /about-us. A lista de caminhos na barra de requisições mostra as rotas que seu app tem.
Experimente você mesmo
import express from 'express';
import { recipes } from './data.js';
const app = express();
app.get('/', (req, res) => {
res.send('Welcome to Recipe Box');
});
// type('text') envia texto simples, então cada título aparece em sua própria linha.
app.get('/recipes', (req, res) => {
res.type('text').send(recipes.map((recipe) => recipe.title).join('\n'));
});
// Adicione a página /about aqui.
app.listen(3000, () => {
console.log('Recipe Box is running on port 3000');
});
Todas as lições de Fundamentos de Express
Pratique por conta própria: Playground de Express