2 回答

TA貢獻(xiàn)1859條經(jīng)驗(yàn) 獲得超6個(gè)贊
要為所有路由調(diào)用中間件,只需app.use(yourMiddleware)在定義任何路由之前執(zhí)行。
要讓中間件調(diào)用一組路由,而不是其他路由,請(qǐng)將您希望中間件調(diào)用的所有路由放在具有僅匹配路由子集的路徑前綴的特定路由器上。然后在定義任何路由之前在該路由器上執(zhí)行中間件。
這是第二個(gè)選項(xiàng)的示例:
const express = require('express');
const app = express();
// load and configure api router
app.use('/api', require('./apiRouter.js'));
app.listen(...);
然后,在 apiRouter.js 中:
const router = require('express').Router();
// middleware that is called for all api routes
router.use(myMiddleware);
// define api routes here
router.get('/list', ...)
module.exports = router;

TA貢獻(xiàn)1757條經(jīng)驗(yàn) 獲得超7個(gè)贊
router.use()為特定路由器服務(wù)的路由掛載中間件。
router.use(checkToken)
router.get('/health', getHandler)
router.post('/', postHandler)
module.exports = router
添加回答
舉報(bào)