首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用typescript表示错误

使用typescript表示错误
EN

Stack Overflow用户
提问于 2021-07-08 23:48:06
回答 1查看 152关注 0票数 0

我的Express服务器具有以下代码:

代码语言:javascript
运行
复制
import express from "express";
import helmet from "helmet";
import cors from "cors";

const app = express();

app.use(helmet());
app.use(cors());
app.use(express.json());

我在helmet()和express.json()调用中都收到了错误:

helmet():没有与此调用匹配的重载。最后的重载给出了以下错误。'(req: IncomingMessage,res: ServerResponse,next:(err?:unknown) => void) => void‘类型的参数不能赋值给'PathParams’类型的参数。类型‘(IncomingMessage| RegExp)[]':pop、push、concat、join和27 more.ts(2769)中缺少以下属性,类型'(req: IncomingMessage,res: ServerResponse,next:(err?:未知) => void) => void’缺少以下属性

express.json():没有与此调用匹配的重载。最后的重载给出了以下错误。'NextHandleFunction‘类型的参数不能赋值给'PathParams’类型的参数。类型'NextHandleFunction‘缺少类型'(string |RegExp)[]’的以下属性: pop、push、concat、join和27 more.ts(2769)

我使用的是Express4.17.1、TypeScript 4.3.5和Helmet 4.6.0。

我总是像这样使用helmet和express.json,但最近我开始看到这些打字错误。

有谁知道怎么解决这些问题吗?

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-07-09 04:25:42

我也有同样的问题,你可以将它转换为正确的类型:

代码语言:javascript
运行
复制
app.use(helmet() as express.RequestHandler);

或者,如果你不喜欢选角,你可以这样做

代码语言:javascript
运行
复制
// from https://github.com/DefinitelyTyped/DefinitelyTyped/issues/43909
app.use((req, res, next) => { next(); }, cors()); // change cors() to what you want 
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68304842

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档