首页 > 解决方案 > 打字稿:导入内部命名空间

问题描述

我正在使用一个 JS 模块,其类型来自Definitely Typed,它具有以下结构:

declare namespace Foo {
  interface Bar {}
}

declare module "abc" {
    function f(): Foo.Bar

    namespace f {
    }

    export = f;
}

如何Bar从 导入接口"abc"

标签: typescript

解决方案


当某些东西没有明确导出时,很可能,打字的作者打算让你不使用该类型。

...话虽如此,从技术上讲,有一种方法可以实现。TypeScriptReturnType在 2.9 中添加了一个类型以及条件类型,它允许您获取函数的返回类型。在这里,您可以像这样使用它:

import f from 'abc'

type Bar = ReturnType<typeof f>

操场


推荐阅读