gpt4 book ai didi

typescript - 在 TypeScript 中导出导入的接口(interface)

转载 作者:搜寻专家 更新时间:2023-10-30 20:37:03 27 4
gpt4 key购买 nike

我在不同的目录中有许多模板 - 我为每个模板定义了一个接口(interface),这样我就可以确保我在 TypeScript 代码中引用的内容在模板中可用。

我想为它们中的每一个定义一个接口(interface),然后将所有接口(interface)整理到一个可以导入的文件中(这样我总是可以只导入该文件,自动完成将显示可用的接口(interface))。

但是,我在执行此操作时遇到了问题。我目前拥有的:

登录/界面:

export interface Index {
error: string;
value: string;
}

接口(interface).ts:

import * as login from './login/interface';
export let View = {
Login: login
};

登录.ts:

import * as I from './interface';
...
let viewOutput: I.View.Login.Index = {
...
};

结果:

error TS2694: Namespace '"...interface"' has no exported member 'View'.

但是,如果我尝试将 I.View.Login.Index 作为简单变量访问,那么我会得到:

Property 'Index' does not exist on type 'typeof "...interface"'.

这似乎是正确的,因为该接口(interface)实际上并不是一种类型,但它已经能够访问 I.View.Login 以实现这一点。

恐怕我不明白我做错了什么或错过了什么。任何帮助将不胜感激!

最佳答案

您可以 re-export像这样:

// interfaces.ts
export * from './login/interface';
export * from './something/interface';

然后:

// login.ts
import * as I from './interface';
let viewOutput: I.Index = { ... }

另一种选择是:

import * as login from './login/interface';
export { login as Login };

然后:

// login.ts
let viewOutput: I.Login.Index = { ... }

关于typescript - 在 TypeScript 中导出导入的接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41684900/

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