TypeScript 无法识别 ExpressJS 4 错误中间件函数

ExpressJS 4 error middleware function is not recognized by TypeScript

提问人:dgnin 提问时间:11/17/2023 更新时间:11/17/2023 访问量:9

问:

ExpressJS 错误中间件函数需要 4 个参数(err、req、res、next)而不是通常的 3 个参数(res、res、next)才能工作。

// @ts-ignore
app.use((err, req, res, next) => {
    console.error(err.stack);
    res.status(500).send('Something broke!');
});

中间件运行良好,但正如你所看到的,我需要添加注释才能编译代码并避免我的编辑器显示错误。发生这种情况是因为在我的 I have which includes , which I want.// @ts-ignoretsconfig.jsonstrict: truenoImplicitAny : true

但是当我安装并添加到我的 on 中时,我不明白为什么 ExpressJS 不会像只有 3 个参数时那样自动推断函数的参数类型。"@types/express": "^4.17.21"devDependenciespackage.json

顺便说一句,我有。"express": "^4.18.2"

有什么想法吗?谢谢。

打字稿 成版 Express-4

评论


答: 暂无答案