Node Express のミドルウェアに関する学習とチャット

青灯夜游
リリース: 2021-11-26 19:23:20
転載
2357 人が閲覧しました

この記事では、node の Express ミドルウェアについて説明し、その概念とミドルウェアの分類を紹介します。

Node Express のミドルウェアに関する学習とチャット

Express は、Node に基づくツールとして、完全に機能する Web アプリケーションを迅速に構築するために使用できる、シンプルで柔軟な Web アプリケーション開発フレームワークです。 js によってカプセル化された -layer サービス フレームワークである Express は、よりシンプルな API を提供し、middleware および routing を通じてアプリケーションの編成と管理を容易にします。

ミドルウェアの概念

ミドルウェアは、リクエスト処理機能をモジュール化した多数のサブ処理機能であり、一連のサブ処理機能でミドルウェアを構成できます。 ##Stack;

Middleware は、アプリケーションのリクエスト/レスポンス サイクルでリクエスト オブジェクト req、レスポンス オブジェクト res、および next() 関数にアクセスできる関数です。 next() 関数は主に、次のミドルウェアに制御を渡す役割を果たします。現在のミドルウェアがリクエストを終了せず、next() が呼び出されない場合、リクエストは一時停止され、後で定義されたミドルウェアは実行されません。 ,

ミドルウェアの実行順序は、厳密には上から下への登録順に従います。 #ミドルウェア

関数は次のタスクを実行できます:

コードの実行

#リクエスト オブジェクトとレスポンス オブジェクトの変更
    #要求と応答のサイクルを終了する
  • コール スタックの次のミドルウェア (次)
  • ミドルウェアの主な目的
  • は、HTTP 要求を処理することです。ログインステータスの検証、リクエストログ、エラー処理、Cookieなどのタスク。

ミドルウェアの分類

Node Express のミドルウェアに関する学習とチャット1 アプリケーション レベルのミドルウェア

アプリケーションに対して app.use() 関数を使用する-レベルのミドルウェアは、アプリケーション オブジェクト インスタンスにバインドされます

const app = express();
/*表示匹配任何路由*/
app.use(function(req,res,next){
    console.log('请求时间:' +  Date.now());
    /*表示匹配完成这个中间件就继续往下执行。*/
    next()
})
ログイン後にコピー
2 ルート レベルのミドルウェア

ルート レベルのミドルウェアは、アプリケーション レベルのミドルウェアと同じように機能します。ルーター インスタンスにバインドされています

import express from 'express';

const app = express();

const router = express.router();

router.use(
  '/user',
  function (req, res, next) {
    console.log(1);
    next();
  },
  function (req, res, next) {
    console.log(2);
    next();
  },
  function (rex, res, next) {
    console.log(3);
    next();
  }
);
ログイン後にコピー
3 エラー処理ミドルウェア

エラー処理ミドルウェアには常に 4 つのパラメーターが必要です。エラー処理として識別するには 4 つのパラメーターを指定する必要があります。ミドルウェア機能。次の関数が不要な場合でも指定する必要があります。そうしないと、次の関数が通常のミドルウェアとして解釈され、エラーを処理できません。

app.use(function(err, req, res, next){
    console.log(err.stack);
    res.status(500).send(err);
})
ログイン後にコピー
4 組み込みミドルウェア

Express には次の組み込みミドルウェアがあります:

express.static: 静的リソース サービスを提供します

express.router: ルーティング サービスを提供します

  • #5 サードパーティ ミドルウェア
  • body-parser、cookie-parser などのサードパーティ ミドルウェア。

6 カスタム ミドルウェア

カスタム ミドルウェアは、関数として定義され、受け入れられます。 req、res、next パラメータ、app.use() を使用してミドルウェアを登録します。

function log(req,res,next) {
    req.requestTime = Date.now();
    next()
}
// 注册自定义中间件
app.use(log);
ログイン後にコピー
// 自定义可配置中间件
function log(options) {
    return function (req,res,next) {
        // 根据options实现中间件功能
        next
    }
}
ログイン後にコピー

ノード関連の知識の詳細については、nodejs チュートリアル を参照してください。 !

以上がNode Express のミドルウェアに関する学習とチャットの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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