English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Le middleware est une fonction qui peut accéder aux objets de requête et de réponse, et également utiliser next dans la requête de l'application.-Utilisation de cette fonction pendant la période de réponse.
Dans ce tutoriel, nous allons apprendre à définir une fonction middleware dans une application Express Node.js et à appeler une fonction middleware.
Requête – C'est la requête HTTP qui atteint l'application Express lorsque le client envoie une requête HTTP (par exemple PUT, GET, etc.), elle contient des attributs tels que la chaîne de recherche, les paramètres URL, les en-têtes, etc.
Réponse– L'objet représente la réponse HTTP envoyée par l'application Express lorsqu'elle reçoit une requête HTTP.
next – next est utilisé pour continuer le prochain middleware dans la pile de middleware.
Requête-Cycle de réponse(Requête-Période de réponse) – De la打入 Express application à la requête jusqu'à ce que la réponse quitte l'application pour la requête, le cycle d'opérations exécutées.
Pile de middleware– Dans la requête-La pile de fonctionnalités middleware exécutée pendant la période de réponse.
Comme nous l'avons mentionné dans la définition de la fonction middleware, elle peut accéder à la requête, l'objet de réponse et la fonction suivante.
La syntaxe est la même que celle des fonctions JavaScript. Elle accepte la requête, l'objet de réponse et la fonction suivante en tant que paramètres.
function logger(req, res, next) { }
Ici, logger est le nom de la fonction, req est l'objet de requête HTTP, res est l'objet de réponse du noeud, next est la requête.-Prochain fonction dans le cycle de réponse
Vous pouvez accéder à toutes les propriétés et méthodes de l'objet request req.
De même, vous pouvez accéder à toutes les propriétés et méthodes de l'objet response res.
La fonction appelée à l'intérieur de la fonction middleware next() est optionnelle. Si vous utilisez la déclaration next(), dans la requête-Continuer à exécuter le prochain middleware dans le cycle de réponse. Si vous ne called la fonction next(), l'exécution de la requête cesse ici.
function logger(req, res, next) { // Votre code next() // Appel de la prochaine fonction dans la pile de middleware }
Dans l'application Express, vous pouvez utiliser la fonction use de l'objet application pour appeler le middleware.
var express = require('express') var app = express() function logger(req, res, next) { // Votre code next() } app.use(logger)
Dans cet exemple, nous allons définir un middleware nommé logger, qui enregistrera l'heure actuelle et la chaîne de recherche dans la console.
app.js
var express = require('express') var app = express() // Définir la fonction middleware function logger(req, res, next) { console.log(new Date(), req.url) next() } // À chaque requête-Appel du middleware logger dans le cycle de réponse app.use(logger) // Pour le chemin d'accès /”Exécuter le routeur app.get('/', function(req, res) { res.send('Ceci est un exemple de base pour Express.js par w3codebox') ) // Lancer le serveur var server = app.listen(8000, function(){ console.log('Écoute sur le port 8000...') )
Lancez cet application, puis cliquez sur l'URL suivante dans le navigateur.
http://localhost:8000/
http://localhost:8000/hello-page/
La sortie sera
Pour les écouteurs8000//localhost:8000/,l'URL est/ ,par conséquent la sortie du logger est l'heure actuelle et '/。De même pour l'URL/hello-page/。