我有使用typescript 1.8.10和此代码安装的快速打字:
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:类型的参数'(错误:请求,请求:响应,res:NextFunction,下一个:任何)=>任何'不能分配给'string'类型的参数RegExp | (string | RegExp)[]' . 输入'(错误:请求,请求:响应,res:NextFunction,下一个:任何)=>任何'不能分配给类型'(字符串| RegExp)[]' . 类型'(错误:请求,请求:响应,res:NextFunction,下一个:任何)=>任何'中缺少属性'[Symbol.iterator]' . 错误:(131,14)TS2339:“请求”类型中不存在属性“代码” . 错误:(136,9)TS2339:类型'NextFunction'上不存在属性'status' . 错误:(137,9)TS2339:类型'NextFunction'上不存在属性'send' .
怎么预防这个?
1 回答
这看起来像是您的类型的问题,因此请确保运行
npm install
以确保您具有所有正确的依赖项 .