将其他模块导出为名称空间

时间:2020-06-30 16:43:09

标签: typescript

我有几个模块可以导出各种类型,类等。 是否可以创建另一个模块,以一种很好的方式汇总这些模块的所有导出?具体而言,是否可以从一个模块导出另一个模块的所有导出作为子模块或命名空间?

sub.ts:

export const foo = 42;
export const bar = 43;

index.ts:

import * as Sub from './sub.ts'
// Now Sub.foo and Sub.bar exists

export class Foo {
}

// export all members from sub as 'Sub'
export Sub;

my-client.ts:

import {Sub, Foo} from './index'

const x = Sub.foo;
const y = new Foo();

export Sub行给出expression statement is not assignment or call

如何完成类似的操作以形成一个由其他几个模块功能组成的模块的逻辑入口点?

1 个答案:

答案 0 :(得分:1)

您可以使用:

// export all members from sub as 'Sub'
export {  
  Sub
};

有关更多信息,请参见https://stackoverflow.com/a/42731800/908464