Table des matières
Qu'est-ce que le middleware ?
Node.js 中间件的使用
安装和引入中间件
应用中间件
编写自定义中间件
多个中间件的串联使用
Installation et introduction du middleware
Middleware d'application
Écrire un middleware personnalisé
Utilisation concaténée de plusieurs middlewares
Maison interface Web Questions et réponses frontales Comment utiliser le middleware nodejs

Comment utiliser le middleware nodejs

Apr 26, 2023 am 09:07 AM

Ces dernières années, Node.js est devenu une technologie très populaire qui permet aux développeurs front-end d'écrire, d'exécuter et de créer des applications Web via le langage JavaScript. Le middleware de Node.js est un élément indispensable du processus de développement. Il permet aux développeurs de gérer facilement les fonctions et les routes, tout en offrant également des optimisations de sécurité et de performances. Dans cet article, nous examinerons plus en détail comment utiliser le middleware dans Node.js.

Qu'est-ce que le middleware ?

Dans Node.js, le middleware est un morceau de code puissant et facilement réutilisable. Il peut intercepter et filtrer entre les requêtes et les réponses HTTP, ce qui permet aux développeurs d'ajouter facilement une logique de traitement et de modifier le contenu de la requête ou de la réponse. Le middleware peut nous aider à répondre à certains besoins de développement courants, tels que :

  • Authentification et autorisation
  • Validation des entrées et conversion des données
  • Demande Analyse et journalisation
  • Contrôle d'itinéraire et gestion des ressources
  • Cache et compression

Puisque le middleware est dans Node.js, c'est un outil extrêmement composant important, Node.js est donc livré avec un grand nombre de middleware intégrés, tels que body-parser, express, etc., ainsi que de nombreux logiciels tiers packages middleware pour notre sélection et notre utilisation. body-parserexpress 等,同时还有很多第三方中间件包供我们选择和使用。

Node.js 中间件的使用

安装和引入中间件

在使用中间件之前,我们需要先将其安装到我们的项目中。可以使用 Node.js 包管理器(例如 npm)安装中间件:

npm install 中间件名称
Copier après la connexion

安装完成后,我们需要通过 requireimport 将其引入到我们的代码中:

const 中间件名称 = require('中间件名称')
// 或者
import 中间件名称 from '中间件名称'
Copier après la connexion

接下来我们就可以开始使用中间件了。

应用中间件

Node.js 中的中间件需要通过应用程序来使用。我们可以使用 Express 应用程序来演示中间件的使用方法:

const express = require('express')
const app = express()

// 使用中间件
app.use(中间件名称)
Copier après la connexion

上述代码中,我们创建了一个 Express 应用程序并引入了 express 中间件。接下来,我们使用 app.use() 方法将 中间件名称 应用于我们的应用程序中。这样,每个 HTTP 请求都会先经过中间件处理,再到达我们的应用程序。

编写自定义中间件

如果没有找到合适的第三方中间件或内置中间件,我们可以编写自定义中间件以满足我们的需求。编写中间件需要使用中间件函数,它具有与 HTTP 请求和响应相关的三个参数:

function 中间件名称(req, res, next) {
  // ...
}
Copier après la connexion
  • req:表示请求对象,包含了客户端发送的数据和请求信息。
  • res:表示响应对象,用于向客户端发送响应数据和响应信息。
  • next:表示通过该中间件的下一个中间件或路由器,必须显式的调用。

在中间件中,我们可以访问和修改请求 req 对象和响应 res 对象,还可以实现任意的功能处理。例如,下面是一个简单的示例中间件,该中间件输出访问的 URL 地址以及时间戳:

function logger(req, res, next) {
  console.log(`[${new Date()}]: ${req.url}`)
  next()
}
Copier après la connexion

多个中间件的串联使用

在实际开发过程中,我们可能需要同时使用多个中间件来实现各种功能和要求。此时可以使用 app.use() 来串联多个中间件,Node.js 中间件将按照添加它们的顺序依次执行。例如,下面的代码演示了使用多个中间件来实现简单的身份验证:

// 身份验证中间件
function auth(req, res, next) {
  if (req.headers.auth === '123456') {
    // 授权通过,执行后续中间件
    next()
  } else {
    // 授权失败
    res.status(401).send('Authorization Failed')
  }
}

// 日志记录中间件
function logger(req, res, next) {
  console.log(`[${new Date()}]: ${req.url}`)
  next()
}

// 中间件串联
app.use(logger)
app.use(auth)
Copier après la connexion

上述代码中,我们定义了两个中间件:authloggerauth 中间件用于验证是否授权成功,logger 中间件用于记录 HTTP 请求的日志信息。通过 app.use()

Utilisation du middleware Node.js

Installation et introduction du middleware

Avant d'utiliser le middleware, nous devons l'installer dans notre projet. Vous pouvez utiliser le gestionnaire de packages Node.js (tel que npm) pour installer le middleware : #🎜🎜#rrreee#🎜🎜#Une fois l'installation terminée, nous devons passer require ou import Il est introduit dans notre code : #🎜🎜#rrreee#🎜🎜#Ensuite, nous pouvons commencer à utiliser le middleware. #🎜🎜#

Middleware d'application

#🎜🎜#Le middleware dans Node.js doit être utilisé via l'application. Nous pouvons utiliser une application Express pour démontrer l'utilisation du middleware : #🎜🎜#rrreee#🎜🎜#Dans le code ci-dessus, nous créons une application Express et introduisons le middleware express. Ensuite, nous appliquons le nom du middleware à notre application en utilisant la méthode app.use(). De cette façon, chaque requête HTTP est traitée par le middleware avant d'atteindre notre application. #🎜🎜#

Écrire un middleware personnalisé

#🎜🎜#Si nous ne trouvons pas de middleware tiers approprié ou de middleware intégré, nous pouvons écrire un middleware personnalisé pour répondre à nos besoins. L'écriture d'un middleware nécessite l'utilisation d'une fonction middleware, qui possède trois paramètres liés aux requêtes et réponses HTTP : #🎜🎜#rrreee#🎜🎜##🎜🎜#req : représente l'objet de la requête, y compris les données. et demander les informations envoyées par le client. #🎜🎜##🎜🎜#res : représente l'objet de réponse, utilisé pour envoyer des données de réponse et des informations de réponse au client. #🎜🎜##🎜🎜#next : Indique le prochain middleware ou routeur passant ce middleware et doit être appelé explicitement. #🎜🎜##🎜🎜##🎜🎜#Dans le middleware, nous pouvons accéder et modifier l'objet de requête req et l'objet de réponse res, et pouvons également implémenter n'importe quelle fonction traiter avec. Par exemple, voici un exemple simple de middleware qui génère l'adresse URL et l'horodatage consultés : #🎜🎜#rrreee

Utilisation concaténée de plusieurs middlewares

#🎜🎜#Dans le processus de développement actuel, nous devrons peut-être utilisez plusieurs middlewares en même temps pour réaliser diverses fonctions et exigences. À l'heure actuelle, vous pouvez utiliser app.use() pour concaténer plusieurs middlewares, et les middlewares Node.js seront exécutés dans l'ordre dans lequel ils sont ajoutés. Par exemple, le code suivant démontre l'utilisation de plusieurs middlewares pour implémenter une authentification simple : #🎜🎜#rrreee#🎜🎜#Dans le code ci-dessus, nous définissons deux middlewares : auth et logger. Le middleware <code>auth est utilisé pour vérifier si l'autorisation a réussi, et le middleware logger est utilisé pour enregistrer les informations de journal des requêtes HTTP. Grâce à app.use(), ces deux middlewares sont connectés en série pour implémenter une fonction d'authentification simple. #🎜🎜##🎜🎜# Dans l'ensemble, le middleware est une partie importante du processus de développement de Node.js. Avec l'aide du middleware, nous pouvons facilement implémenter diverses fonctions et exigences communes tout en améliorant la sécurité et les performances des applications Web. Par conséquent, il est important d'apprendre à utiliser le middleware, ce qui nous aidera à améliorer l'efficacité et la qualité du développement de Node.js. #🎜🎜#

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Qu'est-ce que l'utilisation Effecte? Comment l'utilisez-vous pour effectuer des effets secondaires? Qu'est-ce que l'utilisation Effecte? Comment l'utilisez-vous pour effectuer des effets secondaires? Mar 19, 2025 pm 03:58 PM

L'article traite de l'utilisation Effecte dans React, un crochet pour gérer les effets secondaires comme la récupération des données et la manipulation DOM dans les composants fonctionnels. Il explique l'utilisation, les effets secondaires courants et le nettoyage pour éviter des problèmes comme les fuites de mémoire.

Qu'est-ce que UseContext? Comment l'utilisez-vous pour partager l'état entre les composants? Qu'est-ce que UseContext? Comment l'utilisez-vous pour partager l'état entre les composants? Mar 19, 2025 pm 03:59 PM

L'article explique UseContext dans React, qui simplifie la gestion de l'État en évitant le forage des accessoires. Il traite des avantages tels que les améliorations centralisées de l'État et des performances grâce à des redevances réduites.

Comment connectez-vous les composants React au magasin Redux à l'aide de Connect ()? Comment connectez-vous les composants React au magasin Redux à l'aide de Connect ()? Mar 21, 2025 pm 06:23 PM

L'article discute de la connexion des composants React à Redux Store à l'aide de Connect (), expliquant MapStateToproprop, MapDispatchToprops et des impacts de performances.

Comment empêchez-vous le comportement par défaut dans les gestionnaires d'événements? Comment empêchez-vous le comportement par défaut dans les gestionnaires d'événements? Mar 19, 2025 pm 04:10 PM

L'article discute de la prévention des comportements par défaut dans les gestionnaires d'événements à l'aide de la méthode empêchée dedEfault (), de ses avantages tels que une expérience utilisateur améliorée et des problèmes potentiels tels que les problèmes d'accessibilité.

Quels sont les avantages et les inconvénients des composants contrôlés et incontrôlés? Quels sont les avantages et les inconvénients des composants contrôlés et incontrôlés? Mar 19, 2025 pm 04:16 PM

L'article traite des avantages et des inconvénients des composants contrôlés et incontrôlés dans la réaction, en se concentrant sur des aspects tels que la prévisibilité, la performance et les cas d'utilisation. Il conseille les facteurs à considérer lors du choix entre eux.

Comment définissez-vous les itinéraires en utilisant le & lt; Route & gt; composant? Comment définissez-vous les itinéraires en utilisant le & lt; Route & gt; composant? Mar 21, 2025 am 11:47 AM

L'article traite de la définition des itinéraires dans le routeur React à l'aide de la & lt; Route & gt; Composant, couvrant des accessoires comme le chemin, le composant, le rendu, les enfants, le routage exact et imbriqué.

Le rôle de React dans HTML: Amélioration de l'expérience utilisateur Le rôle de React dans HTML: Amélioration de l'expérience utilisateur Apr 09, 2025 am 12:11 AM

React combine JSX et HTML pour améliorer l'expérience utilisateur. 1) JSX incorpore du HTML pour rendre le développement plus intuitif. 2) Le mécanisme DOM virtuel optimise les performances et réduit les opérations DOM. 3) Interface utilisateur de gestion basée sur les composants pour améliorer la maintenabilité. 4) La gestion des états et le traitement des événements améliorent l'interactivité.

Quelles sont les limites du système de réactivité de Vue 2 en ce qui concerne les changements de tableau et d'objets? Quelles sont les limites du système de réactivité de Vue 2 en ce qui concerne les changements de tableau et d'objets? Mar 25, 2025 pm 02:07 PM

Le système de réactivité de Vue 2 lutte avec le réglage de l'index de tableau direct, la modification de la longueur et l'ajout / suppression de la propriété de l'objet. Les développeurs peuvent utiliser les méthodes de mutation de Vue et Vue.set () pour assurer la réactivité.

See all articles