如何将ts类型定义与npm js库捆绑在一起

时间:2019-05-13 17:50:42

标签: javascript typescript npm

我正在尝试通过JS库提供Typescript类型定义。实际上,该库是用Typescript编写的,并且是由Babel编译的,但是ti没关系。

问题在于Intellij Idea和ts-node都没有选择类型定义。

该库具有以下配置和文件:

package.json

...
  "main": "build/index.js",
  "types": "build/index.d.ts",
  "files": [
    "build"
  ],
...

build / index.js

exports.Foo =  {
    bar: () => 'hello'
}

build / index.d.ts

export interface Foo {
    bar: () => string
}

然后在ts代码中出现错误。

import { Foo } from 'apister'
Foo.bar()
// error TS2693: 'Foo' only refers to a type, but is being used as a value here.

为什么不能识别类型定义?

1 个答案:

答案 0 :(得分:0)

接口是类型,在运行时不存在。

听起来您想使用静态方法声明类,还是使用方法声明对象。