Я использую машинопись с express, пытаюсь расширить express 'объект запроса.
Вот мой server.ts:
import express, { Request, Response } from "express";
const app = express();
app.use(function(req: Request, res: Response, next) {
req.testVal = 200;
});
Вот мои расширения. d.ts:
declare namespace Express {
export interface Request {
testVal: number;
}
}
Я занимаюсь разработкой с использованием VSCode. Среда IDE не выдает мне никаких предупреждений.
Компиляция с tsc
также прекрасно работает.
Однако, когда я запускаю это с ts-node
, я получаю сообщение об ошибке:
src/server.ts:19:9 - error TS2339: Property 'testVal' does not exist on type 'Request<ParamsDictionary>'.
19 req.testVal = 200;
~~~~~~~