【问题标题】:How to import and export namespaces, interfaces and types in TypeScript? from index file?如何在 TypeScript 中导入和导出命名空间、接口和类型?从索引文件?
【发布时间】:2021-07-02 07:02:58
【问题描述】:

我想声明一个模块并定义它的类型和接口而不重复我自己 - 所以我可以定义一个类型,如果它是可以共享的东西,可以从其他地方再次使用它。

因此,例如,如果我有一个名为:User 的模块,我想定义一个名为 User 的命名空间,并在其下定义一个名为 Address 的接口,并在 Address 下定义一个或多个类型。

现在,地址类型是我可能会在其他模块中使用的东西 - 不是特定于用户,也适用于订单。

所以我考虑创建一个 Interface 目录并在此目录中添加一些文件,每个文件每个 Interface 并将所有这些 Interfaces 导入 index.ts 文件,以便可以从应用程序的任何位置导入它 - 实际上甚至从不在同一个应用程序中的其他包、模块和服务。

例如:

Interfaces
  Address.ts
  Contact.ts
  Role.ts
  index.ts

// index.ts

import Address from './Address'
import Contact from './Contact'
...etc

export default { Address, Contact }

但这行不通。因为 TS 只帮助编写代码,它不会将实际模块添加到代码中并将其导出,我上面提到的方式适用于实际模块,而不仅仅是类型和接口!

那么如何导出和导入 TS 对象(类型、接口、命名空间等)?

最佳做法是什么?你能提供它的演示结构吗?

【问题讨论】:

    标签: typescript


    【解决方案1】:

    类似这样的...

    我创建了一个Code Sandbox here,它只是将一些数据打印到控制台以证明类型导入工作正常。这是基于拥有一个包含类型的 types.ts 文件,然后将它们从那里导入到 index.ts 中,这样您就可以从 Typescript 中的另一个文件导入类型。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-06-29
      • 1970-01-01
      • 1970-01-01
      • 2018-02-21
      • 2018-05-29
      • 2019-07-09
      • 2021-08-09
      • 1970-01-01
      相关资源
      最近更新 更多