常规快递代码上的打字稿错误 TS2345

Posted

技术标签:

【中文标题】常规快递代码上的打字稿错误 TS2345【英文标题】:Typescript error TS2345 on regular express code 【发布时间】:2017-03-29 17:19:26 【问题描述】:

我已经使用 typescript 1.8.10 和此代码安装了 express typings:

app.use( function( err, req, res, next ) 
    if ( err.code !== 'EBADCSRFTOKEN' ) 
        return next( err )
    

    // handle CSRF token errors here
    res.status( 403 )
    res.send( 'form tampered with' )
 )

这是一个捕获 csrf 错误的中间件代码会产生这些错误:

错误:(130, 10) TS2345: 类型参数 '(err: Request, req: 响应,res: NextFunction, next: any) => any' 不可分配给 'string | 类型的参数正则表达式 | (字符串|正则表达式)[]'。类型 '(err:请求,req:响应,res:NextFunction,next:any)=> any' 不能分配给类型 '(string | RegExp)[]'。财产 '[Symbol.iterator]' 在类型'(err: Request, req: Response, res: NextFunction, next: any) => any'。

错误:(131, 14) TS2339: 类型上不存在属性“代码” '请求'。

错误:(136, 9) TS2339: 类型上不存在属性“状态” '下一个函数'。

错误:(137, 9) TS2339: 类型上不存在属性“发送” '下一个函数'。

如何预防?

【问题讨论】:

【参考方案1】:

这似乎是您的类型的问题,因此请确保您运行 npm install 以确保您拥有所有正确的依赖项。

【讨论】:

以上是关于常规快递代码上的打字稿错误 TS2345的主要内容,如果未能解决你的问题,请参考以下文章

打字稿错误 TS2345 错误:TS2345:“缓冲区”类型的参数不可分配给“字符串”类型的参数

打字稿错误 TS1005: ';'预期(二)

如何在较新版本的打字稿中处理打字稿错误 Object.ts (7053)?

打字稿编译错误:错误 TS1109:预期表达式

打字稿:错误 TS2693:“承诺”仅指一种类型,但在此处用作值

打字稿键盘事件:“事件”类型的参数不可分配给“键盘事件”类型的参数