Nodejsミドルウェアの使い方

PHPz
リリース: 2023-04-26 09:31:38
オリジナル
876 人が閲覧しました

近年、Node.js は、フロントエンド開発者が JavaScript 言語を通じて Web アプリケーションを作成、実行、構築できるようにする非常に人気のあるテクノロジになりました。 Node.js のミドルウェアは開発プロセスに不可欠な部分であり、開発者が機能とルーティングを簡単に管理できるようにすると同時に、セキュリティとパフォーマンスの最適化も提供します。この記事では、Node.js でミドルウェアを使用する方法を詳しく見ていきます。

ミドルウェアとは何ですか?

Node.js では、ミドルウェアは強力で簡単に再利用できるコードです。 HTTP リクエストとレスポンスの間でインターセプトおよびフィルタリングできるため、開発者は処理ロジックを追加したり、リクエストやレスポンスの内容を変更したりすることが容易になります。ミドルウェアは、次のような一般的な開発ニーズの実現に役立ちます。

  • 認証と認可
  • 入力検証とデータ変換
  • リクエストの分析とログ
  • ルーティング制御とリソース管理
  • キャッシュと圧縮

ミドルウェアは Node.js の非常に重要な部分であるため、Node.js には多くの組み込みミドルウェアが付属しています。 body-parserexpress など、選択して使用できるサードパーティのミドルウェア パッケージも多数あります。

Node.js ミドルウェアの使用

ミドルウェアのインストールと導入

ミドルウェアを使用する前に、まずプロジェクトにミドルウェアをインストールする必要があります。ミドルウェアは、Node.js パッケージ マネージャー (npm など) を使用してインストールできます。

npm install 中间件名称
ログイン後にコピー

インストールが完了したら、require または を通じてミドルウェアを導入する必要があります。 import コード内:

const 中间件名称 = require('中间件名称')
// 或者
import 中间件名称 from '中间件名称'
ログイン後にコピー

次に、ミドルウェアの使用を開始できます。

アプリケーション ミドルウェア

Node.js のミドルウェアは、アプリケーションを通じて使用する必要があります。 Express アプリケーションを使用して、ミドルウェアの使用をデモンストレーションできます。

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

// 使用中间件
app.use(中间件名称)
ログイン後にコピー

上記のコードでは、Express アプリケーションを作成し、express ミドルウェアを導入しました。次に、app.use() メソッドを使用して、ミドルウェア名をアプリケーションに適用します。このようにして、すべての HTTP リクエストはアプリケーションに到達する前にミドルウェアによって処理されます。

カスタム ミドルウェアの作成

適切なサードパーティ ミドルウェアまたは組み込みミドルウェアが見つからない場合は、ニーズを満たすカスタム ミドルウェアを作成できます。ミドルウェアを作成するには、HTTP リクエストとレスポンスに関連する 3 つのパラメータを持つミドルウェア関数を使用する必要があります。

function 中间件名称(req, res, next) {
  // ...
}
ログイン後にコピー
  • req: によって送信された情報を含む、リクエスト オブジェクトを表します。クライアントのデータとリクエスト情報。
  • res: 応答データと応答情報をクライアントに送信するために使用される応答オブジェクトを表します。
  • next: このミドルウェアを通過する次のミドルウェアまたはルーターを示し、明示的に呼び出す必要があります。

ミドルウェアでは、リクエスト req オブジェクトとレスポンス res オブジェクトにアクセスして変更したり、任意の関数処理を実装したりすることができます。たとえば、以下はアクセスした URL アドレスとタイムスタンプを出力する簡単なミドルウェアのサンプルです。

function logger(req, res, next) {
  console.log(`[${new Date()}]: ${req.url}`)
  next()
}
ログイン後にコピー

複数のミドルウェアの連結利用

実際の開発プロセスでは、複数のミドルウェアを同時に使用して、さまざまな機能や要件を実装します。このとき、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)
ログイン後にコピー

上記のコードでは、2 つのミドルウェア、authlogger を定義します。 auth ミドルウェアは認証が成功したかどうかを確認するために使用され、logger ミドルウェアは HTTP リクエストのログ情報を記録するために使用されます。 app.use() によって、これら 2 つのミドルウェアが直列に接続され、簡易認証機能が実装されます。

一般に、ミドルウェアは Node.js 開発プロセスの重要な部分です。ミドルウェアの助けを借りて、Web アプリケーションのセキュリティとパフォーマンスを向上させながら、さまざまな一般的な機能と要件を簡単に実装できます。したがって、Node.js 開発の効率と品質を向上させるために、ミドルウェアの使用方法を学ぶことが重要です。

以上がNodejsミドルウェアの使い方の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート