TypeScript声明文件

时间:2017-06-25 23:35:55

标签: typescript

我尝试使用打字稿,做出反应,d3。

我的控制台抱怨来自npm的d3-cloud需要一个声明文件,所以我想出了这个: EDIT3:声明文件现在看起来像这样,给出了相同的错误消息:

declare module 'd3-cloud' {
  export function cloud (): Function;
}

我现在得到的只是这个错误:

  

TS2349:无法调用类型缺少调用签名的表达式。输入' typeof' d3-cloud''没有兼容的呼叫签名。

感谢您的帮助!

编辑:我可能会补充说,一旦我重新加载页面,就会在错误消息接管之前闪现渲染的文字云。所以它有点可行,但......那个AT-loader真的很不开心。

EDIT2:我使用了这样的npm模块:

import * as d3Cloud from 'd3-cloud'

const layout = d3Cloud()
  .size([width, height])
  .font(font)
  ...

1 个答案:

答案 0 :(得分:1)

由于你使用的库直接导出一个函数,你可以这样输入:

declare module 'd3-cloud' {
  let cloud: Function;
  export = cloud;
}