如何将中间件作为参数传递给模块

我试图在我现有的代码中插入一段代码块,但是无法理解如何以我正在使用的编码模式传递中间件。

我想集成到我的代码模式中的代码段:

router.post(
    '/appuser/uploadavatar',multer.single('image'),gcsMiddlewares.sendUploadToGCS,(req,res,next) => {
        if (req.file && req.file.gcsUrl) {
            return res.status(200).send({'avatar': req.file.gcsUrl});
        }
        return res.status(500).send('Unable to upload');
    },);

我所拥有的:

app.js:

var v1 = require('./routes/v1');
app.use('/api/v1',v1);

然后route / v1.js具有:

// routes/vi.js:

const auth = require('../controllers/authenticateUsers');

router.post('/:entity/:action',handlePOSTs);



function handlePOSTs(req,res) {
   switch(req.params.entity) {
     case "auth":
       switch(req.params.action) {
         case "uploadavatar":
                    auth.uploadAvatar(req,res);
                    break;
       }
     break;
   }
}

在auth.uploadAvatar中:

// authenticateUsers.js


exports.uploadAvatar = (req,next) => {
    // here is where I want to execute this pattern :
    // router.post(
    //     '/appuser/uploadavatar',//     multer.single('image'),//     gcsMiddlewares.sendUploadToGCS,//     (req,next) => {
    //         if (req.file && req.file.gcsUrl) {
    //             return res.status(200).send({'avatar': req.file.gcsUrl});
    //         }
    //         return res.status(500).send('Unable to upload');
    //     },// );
}

如何将中间件传递给导出的功能?

zhaozihong1 回答:如何将中间件作为参数传递给模块

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3133476.html

大家都在问