この記事では、node の Express ミドルウェアについて説明し、その概念とミドルウェアの分類を紹介します。
Express は、Node に基づくツールとして、完全に機能する Web アプリケーションを迅速に構築するために使用できる、シンプルで柔軟な Web アプリケーション開発フレームワークです。 js によってカプセル化された -layer サービス フレームワークである Express は、よりシンプルな API を提供し、middleware および routing を通じてアプリケーションの編成と管理を容易にします。
ミドルウェアは、リクエスト処理機能をモジュール化した多数のサブ処理機能であり、一連のサブ処理機能でミドルウェアを構成できます。 ##Stack;
Middleware は、アプリケーションのリクエスト/レスポンス サイクルでリクエスト オブジェクト req、レスポンス オブジェクト res、および next() 関数にアクセスできる関数です。 next() 関数は主に、次のミドルウェアに制御を渡す役割を果たします。現在のミドルウェアがリクエストを終了せず、next() が呼び出されない場合、リクエストは一時停止され、後で定義されたミドルウェアは実行されません。 ,
ミドルウェアの実行順序は、厳密には上から下への登録順に従います。 #ミドルウェア
関数は次のタスクを実行できます:コードの実行
#リクエスト オブジェクトとレスポンス オブジェクトの変更ミドルウェアの分類
1 アプリケーション レベルのミドルウェア
アプリケーションに対して app.use() 関数を使用する-レベルのミドルウェアは、アプリケーション オブジェクト インスタンスにバインドされますconst app = express(); /*表示匹配任何路由*/ app.use(function(req,res,next){ console.log('请求时间:' + Date.now()); /*表示匹配完成这个中间件就继续往下执行。*/ next() })
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(); } );
app.use(function(err, req, res, next){ console.log(err.stack); res.status(500).send(err); })
express.static: 静的リソース サービスを提供します
express.router: ルーティング サービスを提供します
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 サイトの他の関連記事を参照してください。