Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Typescript 导出扩展的接口_Typescript_Interface_Export - Fatal编程技术网

Typescript 导出扩展的接口

Typescript 导出扩展的接口,typescript,interface,export,Typescript,Interface,Export,我有一个界面Person,我在其中添加了另一个属性(参见下面的示例) 我想导出它,但是我发现错误“Person”只引用一个类型,但在这里被用作一个值。 //test.d.ts 接口人{ 年龄:数字,, 名称:string } 接口人{ canCode:boolean } export Person/=>“Person”仅指类型,但在此处用作值。 //test.ts 从“./test'/=>Module'./test”导入{Person},在本地声明“Person”,但不导出。 const my

我有一个界面
Person
,我在其中添加了另一个属性(参见下面的示例)

我想导出它,但是我发现错误“Person”只引用一个类型,但在这里被用作一个值。

//test.d.ts
接口人{
年龄:数字,,
名称:string
}
接口人{
canCode:boolean
}
export Person/=>“Person”仅指类型,但在此处用作值。
//test.ts
从“./test'/=>Module'./test”导入{Person},在本地声明“Person”,但不导出。
const myPerson:Person={
年龄:17岁,
名字:“罗马”,
坎科德:对
}
你能告诉我怎么修吗

附加信息 朗:
typescript@4.1.2

编辑:
atom@1.53.0

编辑器类型脚本包:
atom-typescript@14.1.2
(正在使用
typescript@4.0.3


我还检查了VSC中的所有代码和建议,结果都是一样的。

导出关键字本身需要导出一个值,但正如您所提到的,
Person
只是一个类型

要解决这个问题,只需使用
导出接口

export interface Person { ... }
接口(由其名称标识)现在已导出。您可以通过添加来执行进一步的声明合并,例如:

export interface Person { age: number }
interface Person { name: string }

人员将合并在一起,并从模块中导出为单个界面。

谢谢您的建议。我不是通过extend扩展接口(创建新接口),而是向同一接口添加属性。如果我在上面示例中显示的每个接口Person之前添加
export
关键字,它将抛出错误
Module'./test“'在本地声明'Person',但它不会导出。
。把我的答案按顺序编辑好。我不知道为什么TypeScript抱怨模块在本地声明它,但没有导出它。在TypeScript 4.1.1上,将导出添加到一个或多个项目对我来说很好。请参阅更多:您的TS版本是什么?我仍然无法重新创建,我正在使用以下代码:请参阅更新的帖子的附加信息部分。