在 Typescript 中导入并重新导出多个模块到单一别名下
我有几个导出对象和函数的文件(模块):
directory/
--> FileA.ts
--> FileB.ts
--> FileC.ts
我的目标是从所有这些文件中以相同的别名重新导出所有这些函数/对象。我想做的是创建一个新文件AllClasses.ts,在该文件中以相同的别名重新导出所有内容。
错误 示例 1 来自 ./AllFiles.ts:
export * as AllClasses from
'./FileA.ts',
'./FileB.ts',
'./FileC.ts';
错误 示例 2 来自 ./AllFiles.ts:
import * as ClassA from './FileA.ts';
import * as ClassB from './FileB.ts';
import * as ClassC from './FileC.ts';
export {ClassA, ClassB, ClassC} as AllFiles;
我在 StackOverflow、Typescript 手册或其他网站上搜索过是否有类似的方法来做这件事,但都没找到。
答案#1
你可以通过一个额外的文件来做到这一点:
AllFiles.ts:
import * from './FileA.ts';
import * from './FileB.ts';
import * from './FileC.ts';
AllClasses.ts:
export * as AllClasses from "./AllFiles.ts";
用法:
import { AllClasses } from 'AllClasses.ts'
let x = new AllClasses.ClassA();
我找不到一个单文件的解决方案。
答案#2
这个问题已有两年历史。答案是由Aleksey L.提供的。
在 ./AllFiles.ts 中的导出端:
AllFiles = {ClassA, ClassB, ClassC}
在导入端这样调用它:
import { AllFiles } from './AllFiles.ts'
然后这样使用它:
let A = AllFiles.ClassA.SubClassA(...params);
