首页 > 解决方案 > Express JS 通过控制器函数传递中间件

问题描述

我想知道是否可以在控制器函数 routes.js 中传递中间件

const router = require('express').Router();
router.get('/home', home.get);

主页.js

module.exports.get = (req, res) => {
  res.send("Welcome to HOME");
};

我想在 home.js 的 get 函数中传递中间件,我知道的一种方法是调用中间件函数,然后将控制器函数作为下一个回调传递

module.exports.get = (req, res) => {
   authCheckMiddleware(req, res, () => {
       res.send("Welcome to HOME");
   })
};

如果有什么办法?在函数定义或 home.js 中传递中间件

标签: javascriptnode.jsexpress

解决方案


您可以通过将中间件函数添加为实际控制器之前的参数来做到这一点:

router.get('/home', authCheckMiddleware, home.get);

推荐阅读