controller.ts(8,8):错误 TS2339:扩展 express.Request 时 属性 'user' 在类型 'Request' 上不存在

controller.ts(8,8): error TS2339: Property 'user' does not exist on type 'Request' while extending express.Request

我遇到了以下错误。请帮助我。

controller.ts(8,8): error TS2339: Property 'user' does not exist on type 'Request'.

controller.ts

import * as express from 'express';
class Users{
 public showUser(
    req: express.Request,
    res: express.Response,
    next: express.NextFunction
  ) {
     return req.user;

 }
}
const users = new Users();
export = {
 showUser: users.showUser
}

express.custommerge.d.ts

// Extend the Express interface with declaration merging
import { User } from './api';
declare namespace Express {
  export interface Request {
    user: User; 
  }
}

api.ts

export class User {
 'userId': string
}

注:

如果我不在 express.custommerge.d.ts 中包含 import { User } from './api'; 并添加 any 而不是 User

,则不会出现此错误

如果我在

中进行以下更改,它会起作用

express.custommerge.d.ts

import { User } from './api';
declare namespace Express {
  export interface Request {
    user: User; 
  }
}