【问题标题】:How to export multiple imported classes as a module如何将多个导入的类导出为一个模块
【发布时间】:2018-04-30 21:07:48
【问题描述】:

假设我有 2 个类,A 和 B,在 2 个不同的文件中实现:A.ts 和 B.ts(都只导出在它们中实现的类实例)。

我想将它们都导出到第三个文件 C.ts 中:

import A from "./A";
import B from "./B";
export module mymodule {
    export A;
    export B;
}

不幸的是上面没有编译..

【问题讨论】:

  • @geochr 和你一样的问题,不知道你是否找到了解决方案。
  • @ShyamalParikh 是的,我们在导出的 mymodule 中进行了操作:export type AExported = A;出口 const AExported = A;这允许您将 A 导出为 mymodule.AExported

标签: typescript


【解决方案1】:

C.ts,做

export * from './A'
export * from './B'

导入 C 时,AB 的定义也将可用。

有一个警告:您不能重新导出 default 导出。

【讨论】:

  • 感谢您的回答。我希望在新的命名空间中导出 A 和 B。
  • 好的。不确定你的目标是什么,但你读过这个(最后一句话)吗?:basarat.gitbooks.io/typescript/content/docs/project/…。你不应该混合命名空间和外部模块......实际上很可能根本不使用命名空间。在D 你可以import * as ns from './C'ns 是你的命名空间
  • 我有几个类,我想通过一个文件将它们组织成模块。所以C实际上必须导出多个模块。不确定现在是否可行。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-01
  • 2019-08-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多