【发布时间】:2019-03-18 18:37:39
【问题描述】:
在 TypeScript 中,我有一个与命名空间合并的类 (foo.ts):
export class C {
foo(): Foo { ... }
}
export namespace C {
type Foo = ...
...
}
在准备使用 inversify 时,我想将此类的接口放在不同的文件中。我尝试过这样的事情:
(interfaces.ts)
export interface IC {
foo (): C.Foo
...
}
export namespace C {
type Foo = ...
}
(foo.ts)
import { C, IC } from './interfaces'
export class C {
foo (): Foo { ... }
}
但是,编译 foo.ts 给我一个错误:“合并声明 'C' 中的单个声明必须全部导出或全部本地。”我想这意味着我已经导入了命名空间,但我没有导出它(尽管我希望导出类应该导出合并的实体)。我该如何解决这个问题?
【问题讨论】:
标签: typescript inversion-of-control