Typescript - 将命名空间导入另一个命名空间

时间:2017-07-29 22:09:55

标签: javascript typescript namespaces

我想知道是否可以从一个typescript .d.ts文件中导出命名空间,然后将该命名空间导入到另一个.d.ts文件中,在该文件中,它将在命名空间内使用。 / p>

示例:

namespace_export.d.ts

export namespace Foo {
    interface foo {
        prop1: string;
    }
}

types.d.ts

import { Foo } from './namespace_export'

export namespace Types {
    Foo // <-- This doesn't work but is what I would like
    interface Bar {
        prop2: string
    }
}

testfile.ts

import { Types } from './types'

function testTypes(type: Types.Foo.foo) {
    console.log(type);
}

1 个答案:

答案 0 :(得分:5)

我想知道如何实现这一目标。我找到了这个解决方案:

import { Foo as fooAlias } from './namespace_export'
export namespace Types {
  export import Foo = fooAlias;
  interface Bar {
    prop2: string
  }
}

希望这会有所帮助;)