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



我有一个很大的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'

是的,你可以,像这样声明你的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};
//...
事实上,

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

测试/索引

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';

最新更新