Maison > interface Web > Questions et réponses frontales > Comment utiliser le middleware nodejs

Comment utiliser le middleware nodejs

PHPz
Libérer: 2023-04-26 09:31:38
original
875 Les gens l'ont consulté

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!

source:php.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal