将函数和命名空间合并到多个文件上

merge function and namespaces over multiple files

提问人:mikoloism 提问时间:5/29/2023 最后编辑:mikoloism 更新时间:5/29/2023 访问量:45

问:

如何合并多个文件的函数和命名空间?

文件结构

module/
├── module.a.ts
├── module.b.ts
├── module.c.ts
├── module.barrel.ts
└── index.ts

或 或 是子模块。module.a.tsmodule.b.tsmodule.c.ts

在每个子模块中,我们都有一个要调用的函数console.log('from {MODULE_NAME}')

像这样:

export function a(){
  console.log('from A');
}

重新导出为内部文件module.barrel.ts

例如:

export * from './mdoule.a.ts';
export * from './module.b.ts';
export * from './module.c.ts';

从 Barrel 重新导出为内部的分组命名空间index.ts

如下所示:

export * as MyModule from './module.barrel';

用法

然后,我们可以导入 named from 或 file,并调用所有桶装导出:MyModule./module./module/index

import { MyModule } from './module'

MyModule.a();
MyModule.b();
MyModule.c();

问题

如何将 MyModule 合并为函数?

例如,使用类似 :

export function MyModule(){
  console.log('from ROOT MODULE');
}

并通过以下方式使用它:

import { MyModule } from './module';

MyModule(); // also call `my-module` as function
MyModule.a();
MyModule.b();
MyModule.c();
TypeScript 模块 命名空间

评论


答: 暂无答案