【问题标题】:Typescript error "Cannot find name"打字稿错误“找不到名称”
【发布时间】:2016-07-21 17:57:13
【问题描述】:

我正在尝试使用big.js 库,其定义为here

现在,这条线可以工作了:

const CONSTANT_1 = new Big(0);

这一行:

const CONSTANT_2 : Big = new Big(0);

导致错误:

error TS2304: Cannot find name 'Big'.

有什么问题?

【问题讨论】:

  • 第二个你想做什么?
  • 您是否正在导入/引用该库?

标签: javascript class typescript compiler-errors


【解决方案1】:

看看第一个隐式类型是什么:

问题

这不起作用的原因......

const CONSTANT_2: Big = new Big(0);

...是因为Big 在定义文件中被定义为变量——而不是类型:

declare var Big: BigJsLibrary.BigJS;

解决方案

如果你想使用显式类型,那么你需要引用构造函数的创建类型...

const CONSTANT_2: BigJsLibrary.BigJS = new Big(0);

...如这里的定义文件所示:

interface BigJS_Constructors {
    new (value: number): BigJS;
    // etc...
}

【讨论】:

  • 这行得通,但看起来很奇怪。有没有办法像我一样将.d.ts 改为使用Big
  • @Elena 添加此声明type Big = BigJsLibrary.BigJS;
猜你喜欢
  • 2017-06-18
  • 2023-03-17
  • 2017-12-01
  • 1970-01-01
  • 2019-04-30
  • 2018-11-09
  • 1970-01-01
  • 2018-07-23
  • 2017-11-09
相关资源
最近更新 更多