2 回答
TA贡献1859条经验 获得超6个赞
要为所有路由调用中间件,只需app.use(yourMiddleware)在定义任何路由之前执行。
要让中间件调用一组路由,而不是其他路由,请将您希望中间件调用的所有路由放在具有仅匹配路由子集的路径前缀的特定路由器上。然后在定义任何路由之前在该路由器上执行中间件。
这是第二个选项的示例:
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贡献1757条经验 获得超7个赞
router.use()为特定路由器服务的路由挂载中间件。
router.use(checkToken)
router.get('/health', getHandler)
router.post('/', postHandler)
module.exports = router
添加回答
举报