Angular版本6 Raygun设置问题与打字稿

时间:2018-06-08 15:09:46

标签: angular typescript webpack raygun raygun.io

Angular版本6 Raygun设置问题与typescript

错误:

  

错误在src / app / app.raygun.setup.ts(6,20):错误TS2304:找不到   姓名' RaygunV2'。

它似乎不喜欢这一行:声明让rg4js:RaygunV2;

我为raygun安装了这些npms:

  

@ types / raygun4js:" ^ 2.6.0 AND raygun4j":" ^ 2.10.0

app.raygun.setup文件:

import * as rg4js from 'raygun4js';
import { ErrorHandler } from '@angular/core';

import { environment } from '@env/environment';

declare let rg4js: RaygunV2;

rg4js('apiKey', '9bimuASis2Cyjx/mrKTmeQ==');
rg4js('setVersion', '1.0.0.0');
rg4js('enableCrashReporting', environment.raygun.isActive);

export class RaygunErrorHandler implements ErrorHandler {
  handleError(e: any) {
    rg4js('send', { error: e });
  }
}

app.module:

 providers: [
    { provide: ErrorHandler, useClass: RaygunErrorHandler }
 ],

1 个答案:

答案 0 :(得分:2)

这是因为由于疏忽,我们实际上并未导出RaygunV2对象作为类型定义的一部分。此问题将在下一版Raygun4JS(无ETA)中修复。现在,您能做的最好的就是将变量声明为any

旁注:我看不到您尝试导入RaygunV2类型,当我们最终从类型定义中导出类型时,您将必须这样做。

编辑(18/10/18):仍未正确解决,但您可以使用以下代码段作为解决方法

import { RaygunV2 } from 'raygun4js';
const rgj4s: RaygunV2 = require('raygun4js');