我想扩展Express'Request界面以包含用户信息。这是常见的,之前已经在这里提出过,所以我已经能够通过以下方式完成它:
import { IHttpUser } from './user.interface';
declare module "express" {
export interface Request{
user?: IHttpUser;
}
}
太棒了 - 这很有效。无需使用任何导入,我可以随时随地使用req.user,并为其输入信息。
根据我的理解使用module
并不是推荐的方法。我应该使用namespace
。所以我希望能够去:
import { IHttpUser } from './user.interface';
declare namespace Express {
export interface Request{
user?: IHttpUser;
}
}
...但是我不能,因为如果你在顶部有一个import
,这将不会被全局提供(我道歉,我不知道这里的正确术语)。< / p>
那么“正确”的方法是什么?它就像我拥有它一样,但是因为我应该转向使用namespace
我想学习那种方式。