我正在使用typescript构建第三方包,我只想将一个类暴露给该包的最终用户。我无法弄清楚打字原稿是如何工作的。
这是我到目前为止所尝试的
moduleA.ts
namespace internal {
export class MyPrivateClass {}
}
moduleB.ts
namespace internal {
import {MyPrivateClass} from './moduleA';
export class PublicClassUsesPrivateClass {}
}
export = internal.PublicClassUsesPrivateClass;
这会产生MyPrivateClass
中没有导出moduleA
的错误。我可以通过在internal
中导出moduleA
命名空间来解决这个问题,但此时并不是非常隐私。
如果我没有导入MyPrivateClass
,我收到错误,找不到姓名MyPrivateClass