打字稿:声明模块,从另一个模块导出

时间:2020-02-20 16:20:20

标签: typescript

假设我有a.d.ts

declare module './a' {
  export function foo(): string
}

我想从另一个模块b.d.ts中重新导出此foo:

我尝试过:

第一次尝试:

declare module './b' {
  export { foo } from './a'
}

第二次尝试:

declare module './b' {
  import { foo } from './a'

  export { foo }
}

但是两次,当我这样做时

// inside ./c.ts

import { foo } from './b';
// foo is not typed

2 个答案:

答案 0 :(得分:0)

尝试一下

declare module './b' {
  export { foo } from './a'
}

declare module './b' {
   import { foo } from './a'

   export foo
}

答案 1 :(得分:0)

关于环境声明,请注意,但是这里是如何通过具体的实现方法来实现的方法:

a.ts

export function foo(): string {
  return 'a'
}

b.ts

export * from './a'

c.ts

import {foo} from './b'

foo() // returns string