我可以将所有导入声明隐藏到单独的文件中吗

时间:2017-02-13 05:50:39

标签: typescript typescript2.0

我有一个包含大量导入的大型TypeScript模块文件。我可以将一些导入隐藏到单独的.ts文件中,该文件只包含导入声明吗?

所以我现在有类似的东西

import { Test1 } from './test/test/test.component';
import { Test2 } from './test1/test1/test1.component';
import { Test3 } from './test2/test2/test2.component';
import { Test4 } from './test/test3/test3.component';
...

所以我想要有类似的东西

import * from './allDeclarationsFile'

2 个答案:

答案 0 :(得分:3)

是的,你可以这样宣布你的allDeclarationsFile.ts

export * from './test/test/test.component';
export * from './test1/test1/test1.component';
export * from './test2/test2/test2.component';
export * from './test/test3/test3.component';

export {Test1} from './test/test/test.component';
//...

或者如果你想重命名:

import * as TC from './test/test/test.component';
export {TC as SomethingElse};
//...

答案 1 :(得分:2)

事实上,你可以比你想象的更容易,但需要注意的是,如果你想一次性导入它们,你必须通过共享命名空间对象访问它们。

<强>测试/索引

export { Test1 } from './test/test/test.component';
export { Test2 } from './test1/test1/test1.component';
export { Test3 } from './test2/test2/test2.component';
export { Test4 } from './test/test3/test3.component';

这称为再出口模式。

您现在可以将其导入为

import * as tests from './test/index';

或选择性地

import { Test1, Test2 } from './test/index';