Heim > Web-Frontend > Front-End-Fragen und Antworten > So verwenden Sie die NodeJS-Middleware

So verwenden Sie die NodeJS-Middleware

PHPz
Freigeben: 2023-04-26 09:31:38
Original
876 Leute haben es durchsucht

Node.js hat sich in den letzten Jahren zu einer sehr beliebten Technologie entwickelt und ermöglicht Frontend-Entwicklern das Schreiben, Ausführen und Erstellen von Webanwendungen über die JavaScript-Sprache. Die Middleware in Node.js ist ein unverzichtbarer Bestandteil des Entwicklungsprozesses. Sie ermöglicht Entwicklern die einfache Verwaltung von Funktionen und Routen und sorgt gleichzeitig für Sicherheits- und Leistungsoptimierungen. In diesem Artikel werfen wir einen tieferen Blick auf die Verwendung von Middleware in Node.js.

Was ist Middleware?

In Node.js ist eine Middleware ein leistungsstarker und leicht wiederverwendbarer Code. Es kann HTTP-Anfragen und -Antworten abfangen und filtern, was es Entwicklern erleichtert, Verarbeitungslogik hinzuzufügen und den Inhalt der Anfrage oder Antwort zu ändern. Middleware kann uns dabei helfen, einige allgemeine Entwicklungsanforderungen zu erfüllen, wie zum Beispiel:

  • Authentifizierung und Autorisierung
  • Eingabevalidierung und Datenkonvertierung
  • Anforderungsanalyse und -protokollierung
  • Routensteuerung und Ressourcenverwaltung
  • Caching und Komprimierung

Aufgrund von Middleware ist eine äußerst wichtige Komponente in Node.js, daher verfügt Node.js über eine große Anzahl integrierter Middleware, wie z. B. body-parser, express usw. Gleichzeitig stehen uns auch viele Middleware-Pakete von Drittanbietern zur Auswahl und Verwendung zur Verfügung. body-parserexpress 等,同时还有很多第三方中间件包供我们选择和使用。

Node.js 中间件的使用

安装和引入中间件

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

npm install 中间件名称
Nach dem Login kopieren

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

const 中间件名称 = require('中间件名称')
// 或者
import 中间件名称 from '中间件名称'
Nach dem Login kopieren

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

应用中间件

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

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

// 使用中间件
app.use(中间件名称)
Nach dem Login kopieren

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

编写自定义中间件

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

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

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

function logger(req, res, next) {
  console.log(`[${new Date()}]: ${req.url}`)
  next()
}
Nach dem Login kopieren

多个中间件的串联使用

在实际开发过程中,我们可能需要同时使用多个中间件来实现各种功能和要求。此时可以使用 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)
Nach dem Login kopieren

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

Verwendung der Node.js-Middleware

Middleware installieren und einführen

Bevor wir Middleware verwenden, müssen wir sie zuerst in unserem Projekt installieren. Middleware kann mit einem Node.js-Paketmanager (z. B. npm) installiert werden: 🎜rrreee🎜Nachdem die Installation abgeschlossen ist, müssen wir sie über require oder import in unseren Code einführen. Code> Medium: 🎜rrreee🎜 Als nächstes können wir mit der Verwendung von Middleware beginnen. 🎜<h3>Anwendungs-Middleware</h3>🎜Middleware in Node.js muss über die Anwendung verwendet werden. Wir können eine Express-Anwendung verwenden, um die Verwendung von Middleware zu demonstrieren: 🎜rrreee🎜Im obigen Code haben wir eine Express-Anwendung erstellt und die <code>express-Middleware eingeführt. Als Nächstes wenden wir den Middleware-Namen mit der Methode app.use() auf unsere Anwendung an. Auf diese Weise wird jede HTTP-Anfrage von der Middleware verarbeitet, bevor sie unsere Anwendung erreicht. 🎜

Benutzerdefinierte Middleware schreiben

🎜Wenn wir keine geeignete Middleware eines Drittanbieters oder keine integrierte Middleware finden, können wir benutzerdefinierte Middleware schreiben, die unseren Anforderungen entspricht. Das Schreiben von Middleware erfordert die Verwendung einer Middleware-Funktion, die über drei Parameter verfügt, die sich auf HTTP-Anfragen und -Antworten beziehen: 🎜rrreee🎜🎜req: stellt das Anforderungsobjekt dar, das die vom Client gesendeten Daten und Anforderungsinformationen enthält . 🎜🎜res: Stellt das Antwortobjekt dar, das zum Senden von Antwortdaten und Antwortinformationen an den Client verwendet wird. 🎜🎜next: Gibt die nächste Middleware oder den nächsten Router an, der diese Middleware passiert, und muss explizit aufgerufen werden. 🎜🎜🎜In der Middleware können wir auf das Anforderungsobjekt req und das Antwortobjekt res zugreifen und diese ändern und auch eine beliebige funktionale Verarbeitung implementieren. Das Folgende ist beispielsweise eine einfache Beispiel-Middleware, die die URL-Adresse und den Zeitstempel des Zugriffs ausgibt: 🎜rrreee

Verkettete Verwendung mehrerer Middlewares

🎜Im tatsächlichen Entwicklungsprozess müssen wir möglicherweise mehrere Middlewares verwenden, um verschiedene zu implementieren Funktionen und Anforderungen. Zu diesem Zeitpunkt können Sie app.use() verwenden, um mehrere Middlewares zu verketten, und die Node.js-Middlewares werden in der Reihenfolge ausgeführt, in der sie hinzugefügt werden. Der folgende Code demonstriert beispielsweise die Verwendung mehrerer Middlewares zur Implementierung einer einfachen Authentifizierung: 🎜rrreee🎜Im obigen Code definieren wir zwei Middlewares: auth und logger. Die auth-Middleware wird verwendet, um zu überprüfen, ob die Autorisierung erfolgreich ist, und die logger-Middleware wird verwendet, um die Protokollinformationen von HTTP-Anfragen aufzuzeichnen. Durch app.use() werden diese beiden Middlewares in Reihe geschaltet, um eine einfache Authentifizierungsfunktion zu implementieren. 🎜🎜Insgesamt ist Middleware ein wichtiger Teil des Node.js-Entwicklungsprozesses. Mithilfe von Middleware können wir verschiedene gängige Funktionen und Anforderungen einfach umsetzen und gleichzeitig die Sicherheit und Leistung von Webanwendungen verbessern. Daher ist es wichtig, den Umgang mit Middleware zu erlernen, um die Effizienz und Qualität der Node.js-Entwicklung zu verbessern. 🎜

Das obige ist der detaillierte Inhalt vonSo verwenden Sie die NodeJS-Middleware. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage