目前,我在与逻辑相同的文件中声明类型和接口(interface)。但是,我发现自己需要经常重用在另一个文件中创建的一些类型和接口(interface)。我最终在每个文件中都有类型和接口(interface),但不知道在哪里导入什么。
为单个功能创建单个类型/接口(interface)文件是否更好?例如,所有登录页面类型和接口(interface)都位于 loginTypes.ts
内。这样,我总是知道在哪里导入我需要的类型。
最佳答案
通常我建议声明面向上下文的接口(interface)和类型。这样,包含所有登录逻辑的 login.ts
也会导出所有相关类型(例如 LoginApiResponse
)。如果多个文件具有嵌套关注结构(例如 login.ts
、accessTokenLogin.ts
、twoFactorAuth
...),其中 login. ts
是 brodest 成员,它将所有子功能集中在一起,我建议也重新导出子模块中声明的接口(interface)中的所有内容。这样你就会:
login.ts
export interface GeneralLoginInterface {
prop: string
}
export { Responce } from "./twoFactorAuth.ts"
并且仅从 login.ts
导入(注意:这也可以扩展到实际代码(类函数等))。
如果子类的成员具有冲突的名称(当 twoFactorAuth.ts
和 accessTokenLogin.ts
都具有 Response 类型时),请考虑将它们导出到不同的命名空间下,例如 here 。
请注意,这只是一个意见,您可以在任何地方导入类型,而不必担心循环依赖,因为类型无论如何都会在运行时被剥离。
关于typescript - 模块的所有接口(interface)和类型声明都应该放在一个文件中吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61852791/