不能使用d.ts文件加载声明合并



在同一个文件中可以很好地工作。

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

相关内容