我想声明一个模块并定义它的类型和接口而不重复我自己 - 所以我可以定义一个类型,如果它是可以共享的东西,可以从其他地方再次使用它。
因此,例如,如果我有一个名为:User 的模块,我想定义一个名为 User 的命名空间,并在其下定义一个名为 Address 的接口,并在 Address 下定义一个或多个类型。
现在,地址类型是我可能会在其他模块中使用的东西 - 不是特定于用户,也适用于订单。
所以我考虑创建一个接口目录并在这个目录中添加一些文件,每个接口的每个文件并将所有这些接口导入到 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 对象(类型、接口、命名空间等)?
最佳做法是什么?你能提供一个演示结构吗?