我有一个src具有以下结构的包:
┌────────┐ ┌───────┐
│moduleA │─┬── │code.ts│
└────────┘ │ └───────┘
│ ┌──────────┐
├── │code.d.ts │
│ └──────────┘
│ ┌──────────┐
└── │types.d.ts│
└──────────┘
其中code.d.ts具有导出的定义code.ts并types.d.ts持有namespace中使用的类型的a code.d.ts。这在包中运行良好,但是当我导出它时,code.d.ts文件中不再识别名称空间。此外,每篇关于如何导出类型的文章都非常令人困惑。有人可以指出我开始解决这个问题的方向。
code.ts
export default class MyClass {
createSubject(id: string): Promise<MyNamespace.Subject> {
return this.put(`/subjects/${id}`)
}
code.d.ts
export default class MyClass {
createSubject(id: string): Promise<MyNamespace.Subject>
type.d.ts
declare namespace MyNamespace {
export interface Subject {
id: String
}
}
该代码是从 openAPI 文件自动生成的,因此type.d.ts只表示 openAPI 文件中的类型,并且code.ts是一个简单的类,每个现有端点都有一个方法。