TypeScript:使用自己的类扩展Express.Session接口

问题描述 投票:3回答:1

我正在使用npm软件包进行Typescript项目。我想向Express.Session接口添加一个属性。

示例类别:

class User {
    name: string;
    email: string;
    password: string;
}

export = User;

用于接口定义的新d.ts文件(不想编辑express-session.d.ts):

declare namespace Express {
    interface Session {
        user: User
    }
}

app.ts

import User = require('./User');

function (req: express.Request, res: express.Response) {
    req.session.user //I want to use it like this.
}

问题是,在d.ts文件中未知用户。但是既不需要也不导入用户文件修复程序。

如何将我自己的类添加到会话接口?

node.js express typescript npm express-session
1个回答
0
投票

聚会晚了一点,但是应该可以将界面导入到定义文件中

import { User } from '../models/user';

declare global {
  namespace Express {
    interface Session {
      _user?: User
    }
  }
}
© www.soinside.com 2019 - 2024. All rights reserved.