Je travaille avec Nodejs et j'utilise expressjs et maintenant je travaille sur la fonctionnalité middleware et je veux savoir quel est le « prochain » travail dans le concept middleware ? « Suivant vers le prochain middleware », mais qu'est-ce que le « prochain middleware » ? J'ai essayé d'utiliser le code suivant et chaque fois que je clique sur "http://localhost:3000/", il affiche "Middleware 1 et Middleware 2" dans la console et le navigateur. "hello world" est toujours affiché, donc "prochain middleware" signifie toujours "gestionnaire de routeur" (méthode get) ?
const express = require('express');
const app = express();
// Middleware function 1
app.use((req, res, next) => {
console.log('Middleware 1');
next(); // Move to the next middleware
});
// Middleware function 2
app.use((req, res, next) => {
console.log('Middleware 2');
next(); // Move to the next middleware
});
// Route handler
app.get('/', (req, res) => {
res.send('Hello, world!');
});
app.listen(3000, () => {
console.log('Server started on port 3000');
});
C'est faux. Le middleware suivant ne signifie pas toujours « gestionnaire de routeur ». La fonction Next() redirige vers une autre fonction.
Par exemple, l'exemple suivant,
// Middleware function 1 app.use((req, res, next) => { console.log("Middleware 1"); next(); // Move to the next middleware }); // Route handler app.get("/", (req, res, next) => { console.log("GET /"); next(); }); // Middleware function 2 app.use((req, res) => { console.log("Middleware 2"); res.send("Hello, world!"); });Sortie console :
La réponse dans le navigateur est
Hello, world!. Par conséquent, la fonction next() n’est pas toujours conçue comme un gestionnaire de routeur.