0
기존 인터페이스를 보강하기 위해 사용자 정의 유형 정의가 있습니다 (은 here과 같습니다). 내용물 express.d.ts
:Typescript 사용자 정의 유형 정의가 가져 오기 클래스에서 깨졌습니다.
declare namespace Express {
export interface Request {
name: string
}
}
잘 작동합니다. 하지만 문자열 대신 name
대신 사용자 정의 클래스 MyClass
이 필요합니다.
export class MyClass {
first: string;
last: string;
}
나는에 대한 인터페이스의 확대를 변경 : 클래스 정의의 모양
req.name
에 액세스 할 때
import { MyClass } from "../routes/myClass";
declare namespace Express {
export interface Request {
name: MyClass
}
}
이제 다음과 같은 오류가 발생합니다 : 내가 발견 한
error TS2339: Property 'name' does not exist on type 'Request'.
, 내 express.d.ts
은 실제로 추가 된 import
문으로 인해 "모듈"이됩니다. 아직도, 내가 그 문제를 어떻게 극복 할 수 있는지 분명하지 않다.
이 파일은 모듈 파일과 더 이상 글로벌 네임 스페이스 익스프레스를 확장하지 않습니다. – unional