这是一个关于命名空间和文件管理的 Typescript 问题。我在一个命名空间下有许多接口(interface)和类。我想将每个类或接口(interface)分割成自己的 .ts
文件,然后能够聚合这些文件,这样我就可以在一些使用代码中声明命名空间,然后可以访问命名空间中的接口(interface)和类。例如,第一个文件,icontact.ts
:
export namespace mynamespace {
export interface IContact {
firstName: string;
lastName: string;
}
}
第二个文件,contact.ts
:import {IContact} from './icontact.ts';
export namespace mynamespace {
export class Contact implements IContact {
firstName: string;
lastName: string;
constructor(firstName: string, lastName: string){
this.firstName = firstName;
this.lastName = lastName:
}
}
}
我将非常感谢任何人可以提供的任何帮助。提前致谢。
最佳答案
Typescript 中的命名空间是一种描述模块结构的方式,但它们不会生成任何自动为您执行此操作的代码。
您可能想要做的是创建一个文件(可能是某个目录中的 index.ts
),然后从该文件中导入您想要的“命名空间”中的所有内容,然后重新导出。
此类 index.ts
的示例文件:
export { Foo } from './foo';
export { Bar } from './bar';
现在如果有东西使用这个模块,他们可以这样引用它:import * as MyNamespace from './some/directory';
let foo: MyNamespace.Foo;
let bar: MyNamespace.Bar;
关于typescript - 如何在Typescript中将类和接口(interface)分离到同一命名空间下的单独文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62597248/