在同一个文件中可以很好地工作。
declare module "express-session" {
interface SessionData {
userId: number;
}
}
static async loginUser(req: Request, res: Response) {
const { email, password } = req.body;
req.session!.userId = 1;
return res.send("login");
}
但是,如果我把这些文件分成
index.d.tsindex.ts
则显示userId在SessionData或Partial中不存在。
为什么会这样?
尝试将您的声明放入global.d.ts
。参见docs
当然,global.d.ts应该在根目录下。
如果你想把它放在兄弟文件index.d.ts
中,请更新typeroot或types