gpt4 book ai didi

typescript - 在 TypeScript 中扩展接口(interface),其中 module=es6 导致 Property does not exist

转载 作者:行者123 更新时间:2023-12-05 07:28:15 24 4
gpt4 key购买 nike

当我尝试在我的 tsconfig.json 中从 "module": "commonjs", 切换到 "module: "es6", 时,我无法再编译由于以下错误导致以下代码:

models/Combined.ts(12,9): error TS2322: Type '{ 'name': any; 'date': Date; 'occupation': any; }' is not assignable to type 'Combined'.
Object literal may only specify known properties, and ''name'' does not exist in type 'Combined'.

models/Combined.ts(22,23): error TS2339: Property 'name' does not exist on type 'Combined'.

模型/组合.ts:

import {
Simple
} from './';


export interface Combined extends Simple {
occupation?: string;
}

export function CombinedFromJSON(json: any): Combined {
return {
'name': json['Name'],
'date': !exists(json, 'Date') ? undefined : new Date(json['Date']),
'occupation': !exists(json, 'Occupation') ? undefined : json['Occupation'],
};
}

export function CombinedToJSON(value?: Combined): any {
if (value === undefined) {
return undefined;
}
return {
'Name': value.name,
'Occupation': value.occupation,
};
}

模型/Simple.ts

export interface Simple {
name: string;
readonly date?: Date;
}

我已经阅读了一些与此类似的 SO 问题和 interfaces page来自 typescript 网站,但我仍在为这个问题摸不着头脑。看起来这应该可以工作,而且当目标模块系统是 commonjs 时确实可以。 tslint 在开发时一点也不提示,我已经尝试过 TS 2.4 和 3.1,但没有成功。

如有任何帮助/指导,我们将不胜感激!

最佳答案

在这里回答:https://github.com/Microsoft/TypeScript/issues/28687#issuecomment-442167850

我需要将 "moduleResolution": "node" 添加到我的 tsconfig.json

关于typescript - 在 TypeScript 中扩展接口(interface),其中 module=es6 导致 Property does not exist,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53500233/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com