次のミドルウェアがあり、
next()
を呼び出すだけです。
:
export default function (options) {
return function (req, res, next) {
next()
};
}
私はこれを次のように使用しようとしています:
import mymiddleware from '../middlewares/mymiddleware';
router.post('/', mymiddleware, function(req, res, next) {
res.status(200).send()
});
ルートに投稿すると、ハングします。私はこれが200 OKを返すことを期待するでしょう(
mymiddleware
を削除するとそれが行われます)私のルートから)
回答 1 件
関連した質問
- Routeget()にはコールバック関数が必要ですが、[オブジェクトオブジェクト]を取得しました
- いくつかのIPを除いてすべての人にミドルウェアを適用する必要がありますが、ルート外でreqとresを取得できません。どうすれば適用できますか?
- nodejspostメソッドreqbodyはbody-parserでも未定義です
- deleteMessage関数が機能しないのはなぜですか?
- 同じ名前で複数のクエリパラメータを表現しても配列が返されません
- SyntaxError:モデルでのJSON入力の予期しない終了
- 機関砲を備えたベンチマークエクスプレスAPI
- __dirnameが定義されていません
- すべてのプロパティを必要かどうかをマークするJoi
- Expressjs別のリクエストが処理されている場合にリクエストを防ぐ方法は?
ミドルウェア関数が呼び出されたときに返す関数をエクスポートしています。ミドルウェア関数を取得するには、その外部関数を呼び出す必要があります。あなたはそれを呼んでいません。
したがって、呼び出されない別の関数を返すミドルウェアとして関数を渡すので、
next()
を呼び出すことはありません そのため、ルートが行き詰まったように見えます。2つの方法で修正できます。まず、エクスポートを変更して、ストレートミドルウェア関数をエクスポートするだけです。
または、ネストされたアーキテクチャを使用するときにオプションを渡すことができるようにネストしたアーキテクチャを保持する必要がある場合は、実際に呼び出して必要なオプションを渡す必要があります。