【发布时间】:2021-06-05 00:11:53
【问题描述】:
使用打字稿,我希望从 express 扩展 Request 对象以添加我的自定义字段。
在this source 之后,我创建了一个包含以下内容的@types/express/index.d.ts 文件:
import { MyClass } from "../../src/MyClass";
declare global {
namespace Express {
export interface Request {
myField?: MyClass;
}
}
}
并添加 tsconfig.json :
"typeRoots": [
"@types",
"./node_modules/@types"
],
它工作正常。 但我正在开发一个自制的 npm 模块,我将它安装在另一个节点应用程序上。
我想“导出”这个新的请求类型,以便应用程序能够使用它
import { MyClass } from 'mymodule';
app.use((req: express.Request, res: express.Response, next: express.NextFunction) => {
req.myField = new MyClass(); // <= Typescript doesn't know myField in Request
});
【问题讨论】:
标签: node.js typescript express npm