custom express中间件导致typeError:app.use()需要一个中间件函数

问题描述 投票:0回答:1

const ErrorHandler = (err, req, res, next) => {
    logging.error(err);
    let message = 'An error occured, please try again.';
    let statusCode = 500;

    const response = {
        success: false,
        message: message,
    };

    
    res.status(statusCode).json(response);
    //  in the future add custom error messages based on error type 
};

export default ErrorHandler;

上面是我的自定义中间件。我使用以下方式在我的主应用程序文件上适当导入它。

const ErrorHandler = require('./middleware/ErrorHandler'); app.use(ErrorHandler);

我的邮政路线看起来像:

router.post('/submit-recipe', getUserMiddleware, upload.any(), async (req, res, next) => {

我遵循了其他一些帖子,例如this,我所有的路由器都被正确导出/导入。 我在这里错过了一些明显的东西吗?

可以通过更改为

const ErrorHandler = require('./middleware/ErrorHandler');

来固定。您似乎已经混合了常见。JS出口和ES出口。
javascript html node.js express
1个回答
0
投票

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.