在Typescript中将多个导出分组到一个组中

时间:2019-06-20 01:29:14

标签: typescript

我可以有一些这样的代码:

- file1.ts
export const FOO...
export const BAR...

然后我可以在另一个文件中执行此操作:

- file2.ts
import * as CONSTANTS from './file1/.ts'
export { CONSTANTS };

这样,在任何文件中我都可以使用它:

import { CONSTANTS } from './file2.ts'
...
let variable = CONSTANTS.foo ...

我的问题是,如果没有file2.ts,我可以实现相同的目标吗?我的意思是,将成员从定义它们的同一文件中导出为一个组。有可能吗?

2 个答案:

答案 0 :(得分:1)

您可以使用namespace完成此操作。

// file1.ts
export namespace Constants {
    export const FOO = ...;
    export const BAR = ...;
}

现在file1是一个具有单个导出名称空间(js对象)的模块,其名称为FOOBAR

import { Constants } from './file1.ts'
let variable = Constants.FOO;

答案 1 :(得分:0)

我曾经使用这种方法而不使用名称空间:

- file1.ts
const Foo...
const Bar...

export const Constants = {
  Foo,
  Bar,
}
- fileY.ts
import { Constants } from './file1/.ts'

Constants.Foo()