属性 'locals' 在类型 'Response' 上不存在

Property 'locals' does not exist on type 'Response'

我想使用 res.locals 在中间件之间传递一些数据,但打字稿说我不能。 :(

顺便说一句,我正在使用Restify。我需要一个插件吗? 如果没有,将不胜感激在中间件之间传递数据的替代解决方案。

⚠️ 如果你使用 typescript,那么你会得到一个错误,因为 locals 不是 Interface res.

的一部分

所以,如果你想添加自己的 属性,例如在 res 中,那么你可以这样:res['locals'] = { name: 'John doe' }.

更新:添加属性以重新定义 res

要向您的 restifyResponse 声明 locals 属性,您可以使用以下代码:

declare module 'restify' {
  interface Response{
    locals: any
  }
}

声明自己的属性后,在你的 Restify 响应中有一个例子 locals,所以,现在你可以在你的 restify[=] 中使用 locals 18=].

希望对你有所帮助