我试图实现以下目标: (不要紧,这些类型的结构是相同的。这仅用于演示目的)。目标是没有一个大型文件用于我想要导出的命名空间。
import Animal from 'types/animal/index.ts'
const dog:Animal.Dog = {
sound: 'bark',
legs: 4
}
const cat:Animal.Cat = {
sound: 'meow',
legs: 4
}
类型/动物/ index.ts
// somehow import the animal types from separate files and export in one "Animal" namespace
类型/ Cat.ts
export namespace Animal {
export interface Cat {
sound: string
legs: number
}
}
类型/ Dog.ts
export namespace Animal {
export interface Dog {
sound: string
legs: number
}
}
答案 0 :(得分:1)
假设您的Dog.ts
和Cat.ts
确实位于types
,而不是types/animal
,types/animal/index.ts
中的此类内容应该可以完成此任务:< / p>
import * as Animal_Dog from '../Dog';
import * as Animal_Cat from '../Cat';
namespace Animal {
export type Dog = Animal_Dog.Animal.Dog;
export type Cat = Animal_Cat.Animal.Cat;
}
export default Animal;