Node.js 扩展接口类型脚本时忽略字段

Node.js 扩展接口类型脚本时忽略字段,node.js,typescript,swagger,Node.js,Typescript,Swagger,我试图扩展ISampleB接口,并从中省略一些值,如下所示。我不知道自己是否做错了什么 export interface ISampleA extends Omit<ISampleB, 'fieldA' | 'fieldB' | 'fieldC' | 'fieldD' | 'fieldE'> { fieldB?: string fieldA?: string fieldC?: string fieldD: number fieldE?: num

我试图扩展ISampleB接口,并从中省略一些值,如下所示。我不知道自己是否做错了什么

export interface ISampleA extends Omit<ISampleB, 'fieldA' | 'fieldB' | 'fieldC' | 'fieldD' | 'fieldE'> {
    fieldB?: string
    fieldA?: string
    fieldC?: string
    fieldD: number
    fieldE?: number
}
尝试使用
Exclude


有关更多信息,请访问

我实际上不确定抛出的错误是否来自此,但是我认为从一个接口中省略属性并在它的扩展接口中重新定义它们是行不通的。为什么不将实际的共性提取到它们都扩展的第三个接口上呢?@jornsharpe-我不能更改主接口,因为它在很多地方都使用,并且将不得不修改大量的测试用例。为什么它在哪里使用会很重要?ISampleB仍然是相同的结果,它只是使ISampleB更容易定义。@jonrsharpe-当然,让我试试。我的做法是否错误?参数:字段错误:未找到排除的类型
There was a problem resolving type of 'ISampleA'.

ode_modules/typescript-rest-swagger/dist/metadata/methodGenerator.js:83
                throw new Error("Error generate parameter method: '" + controllerId.text + "." + methodId.text + "' argument: " + parameterId.text + " " + e);
Error: Error generate parameter method: 'abc' argument: fields Error: No type found for Omit