Routeur Express
Fait partie de la section Les bases d’Express du Journey Node.js de Coddy. Leçon 16 sur 20.
server.js contient maintenant les pages, les routes d’API et les intergiciels, et il continue de grossir.
// 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() crée une petite application avec ses propres routes, conservées dans leur propre fichier. app.use('/api/books', booksRouter) la monte : le / du routeur répond à GET /api/books, et son /:isbn répond à GET /api/books/9780141439518. Le préfixe est écrit une seule fois, dans app.use. Les erreurs déclenchées à l’intérieur d’un routeur parviennent toujours au gestionnaire d’erreurs de l’application.
Le nouveau fichier routes/recipes.js contient déjà une route, /tags.
Défi
Facile- Déplace les quatre routes
/api/recipesdeserver.jsversroutes/recipes.js, sous/tags. - Monte le routeur sur
/api/recipes.
Envoie GET /api/recipes/tags, GET /api/recipes/2 et GET /api/recipes/2/scale?by=lots.
Essayez vous-même
import express from 'express';
import { recipes } from '../data.js';
const router = express.Router();
// Chaque étiquette, une seule fois, par ordre alphabétique.
router.get('/tags', (req, res) => {
const tags = new Set(recipes.flatMap((recipe) => recipe.tags));
res.json([...tags].sort());
});
// Déplacez les routes /api/recipes de server.js ici, sous /tags.
// Dans un routeur, les chemins sont relatifs à l’endroit où il est monté.
export default router;
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Les bases d’Express
1Votre premier serveur
Bonjour, ExpressLe module httpPlus de routesParamètres de route