ホームページ > ウェブフロントエンド > jsチュートリアル > ミドルウェアを使用した Express.js アプリケーション

ミドルウェアを使用した Express.js アプリケーション

Susan Sarandon
リリース: 2024-11-24 06:01:14
オリジナル
1023 人が閲覧しました

Express.js Applications with Middleware

導入

Express.js のミドルウェアは、受信リクエストと送信応答をインターセプトできる強力なメカニズムです。これは、コアのルーティング ロジックを変更せずにアプリケーションの機能を拡張する柔軟な方法を提供します。このブログ投稿では、ミドルウェアの概念を詳しく掘り下げ、そのさまざまなタイプを検討し、それを効果的に実装する方法を示します。

ミドルウェアについて

ミドルウェア関数は本質的に、リクエスト (req)、応答 (res)、チェーン内の次のミドルウェア (next) にアクセスできる関数です。彼らは次のようなさまざまなタスクを実行できます:

  • ロギング: 分析とデバッグのために受信リクエストと送信応答を記録します。

  • 認証: ユーザーの資格情報を確認し、保護されたルートへのアクセスを承認します。

  • エラー処理: アプリケーション内で発生するエラーを捕捉して処理します。
    リクエストボディの解析: 受信したリクエストボディ (JSON、フォームデータなど) を解析します。

  • 応答ヘッダーの設定: 送信応答にカスタム ヘッダー (CORS ヘッダーなど) を設定します。

ミドルウェアの種類


アプリケーションレベルのミドルウェア:

  • Express アプリへのすべての受信リクエストに適用されます。

  • 通常、グローバル構成、ロギング、エラー処理に使用されます。

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

// Application-level middleware
app.use((req, res, next) => {
    console.log('Request URL:', req.url);
    next();
});
ログイン後にコピー

ルーターレベルのミドルウェア:

  • 特定のルートまたはルートのグループに適用されます。

  • ルート固有の認証、認可、またはデータ検証に役立ちます。

const express = require('express');
const router = express.Router();

// Router-level middleware
router.use((req, res, next) => {
    console.log('Router-level middleware');
    next();
});

router.get('/users', (req, res) => {
    // ...
});
ログイン後にコピー

エラー処理ミドルウェア:

  • アプリケーション内で発生するエラーを処理するように設計されています。

  • err、req、res、next の 4 つの引数が必要です。

  app.use((err, req, res, next) => {
    console.error(err.stack);
    res.status(500).send('Internal Server Error');
});
ログイン後にコピー

結論

ミドルウェアを効果的に利用することで、Express.js アプリケーションのセキュリティ、パフォーマンス、および全体的な機能を強化できます。さまざまな種類のミドルウェアとその適切な使用例を理解すると、堅牢でスケーラブルな Web アプリケーションを作成できるようになります。

以上がミドルウェアを使用した Express.js アプリケーションの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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