【发布时间】:2020-01-22 11:48:37
【问题描述】:
我想使用res.locals 在中间件之间传递一些数据,但打字稿说我不能。 :(
顺便说一句,我正在使用Restify。我需要插件吗? 如果没有,将不胜感激在中间件之间传递数据的替代解决方案。
【问题讨论】:
标签: node.js typescript restify
我想使用res.locals 在中间件之间传递一些数据,但打字稿说我不能。 :(
顺便说一句,我正在使用Restify。我需要插件吗? 如果没有,将不胜感激在中间件之间传递数据的替代解决方案。
【问题讨论】:
标签: node.js typescript restify
⚠️ 如果您使用 typescript,则会出现错误,因为 locals 不是 Interface res 的一部分。
所以,如果你想添加自己的属性,例如在 res 中,那么你可以这样:res['locals'] = { name: 'John doe' }。
? 更新:添加属性以恢复 res
要将locals 属性声明为您的restifyResponse,您可以使用以下代码:
declare module 'restify' {
interface Response{
locals: any
}
}
声明你自己的属性后,在你的 Restify Response 中有一个 locals 的例子,所以,现在你可以在你的 restifyresponse 中使用 locals。
希望对你有帮助。
【讨论】:
res['locals']和res.locals没有区别