无处不在的错误:"Cannot invoke an expression whose type lacks a call signature. Type 'RaygunStatic' has no compatible call signatures."

Error out of nowhere: "Cannot invoke an expression whose type lacks a call signature. Type 'RaygunStatic' has no compatible call signatures."

我们有一个 angular / ionic 应用程序,使用 typescript 并安装了 raygun 库。直到今天它一直构建良好,就在今天我开始在构建时出现以下错误

"Cannot invoke an expression whose type lacks a call signature. Type 'RaygunStatic' has no compatible call signatures."

这发生在下面的代码行

rg4js('setUser', {

在文件的顶部我有

import * as rg4js from 'raygun4js';

我正在编译 git 一周前运行的完全相同的代码。我在本地遇到同样的错误,当 运行 在 ionic pro 上构建时,这非常奇怪,因为它不应该归结为我机器上的任何版本发生变化,因为它在一周前在 ionic 中工作框架,现在不是,代码没有任何变化。

有些东西变了,但我不知道是什么。

我联系了 raygun,他们说:

We do know that there are some issues with the definitions not exporting all the correct information and we hope to fix this in the future.

但我不明白为什么它在上周有效,而在今天却无效。我没有更改raygun库的版本。

感谢任何帮助。

干杯, 罗布

一个不太好的 "fix" 暂时将 rg4js 用法标记为任何。然后编译器将忽略这种用法的类型检查。

(rg4js as any)('user', {...

至于为什么它以前有效而现在不再有效,我不知道。我经历过类型检查说一切都很好并且在出现错误时遵守但当时没有进一步调查。