正しい方法を考えて、現時点で成長している Express と Connect を使用する node.js Web プロジェクトでミドルウェアをどのように使用するか。
もちろん、現在、リクエストをグローバルに渡したり拡張したりする必要があるミドルウェアがありますが、多くの場合、受信データの準備などの特別なジョブがあり、この場合、ミドルウェアは一連の http メソッドとルートに対してのみ機能します。
私はコンポーネントベースのアーキテクチャを持っており、各コンポーネントは、このコンポーネントが処理できる要求のためにそれらを実装できる独自のミドルウェア層をもたらします。アプリの起動時に、必要なコンポーネントが読み込まれて準備されます。ミドルウェア コードの実行を URL にバインドして CPU の負荷を低く抑えるのは良い考えですか、それともグローバルな目的でのみミドルウェアを使用する方が良いですか?
これは、URL 関連のミドルウェアがどのように見えるかのダミーです。
app.use(function(req, res, next) {
// Check if requested route is a part of the current component
// or if the middleware should be passed on any request
if (APP.controller.groups.Component.isExpectedRoute(req) ||
APP.controller.groups.Component.getConfig().MIDDLEWARE_PASS_ALL === true) {
// Execute the midleware code here
console.log('This is a route which should be afected by middleware');
...
next();
}else{
next();
}
});