【问题标题】:How to override the User interface from Express Request如何从 Express Request 覆盖用户界面
【发布时间】:2021-12-03 16:48:41
【问题描述】:

我正在尝试定义来自我的身份验证服务请求的用户属性的属性

我要覆盖 express 的声明是

declare global {
  namespace Express {
    export interface Request {
      user?: User;
    }

    interface User {
      name: string;
      token: string
    }
  }
}

但是当我尝试获取 user.name 时仍然出现类型错误(用户的名称不存在)

我尝试将声明添加到 typesRoot 内的 tsconfig,但它也不起作用

有什么线索吗?

【问题讨论】:

  • 显示错误信息。你试过req.user?.name吗?

标签: typescript express tsconfig


【解决方案1】:

我只需要将模块声明放在 @type/express/index.d.ts 中,以便 tsconfig 接受它

【讨论】:

    猜你喜欢
    • 2020-12-04
    • 2018-08-08
    • 1970-01-01
    • 1970-01-01
    • 2019-07-27
    • 2023-02-12
    • 2011-08-09
    • 2010-11-13
    • 1970-01-01
    相关资源
    最近更新 更多