Angular version 6 打字稿的光线枪设置问题
错误:
src/app/app.raygun.setup.ts(6,20( 中的错误:错误 TS2304:找不到 名称为"雷枪V2"。
它似乎不喜欢这一行:声明让 rg4js:RaygunV2;
我为射线枪安装了这些 npms:
@types/raygun4js: "^2.6.0 AND raygun4j": "^2.10.0
app.raygun.setup file:
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 });
}
}
应用模块:
providers: [
{ provide: ErrorHandler, useClass: RaygunErrorHandler }
],
这是因为由于疏忽,我们实际上并没有将RaygunV2
对象导出为类型定义的一部分。这将在Raygun4JS的下一个版本中修复(无ETA(。现在,您能做的最好的事情就是将变量声明为any
。
旁注:我没有看到您尝试导入RaygunV2
类型,当我们最终从类型定义中导出类型时,您必须这样做。
编辑 (25/10/18(:此问题仍未正确解决,但您可以使用以下代码片段作为解决方法
import { RaygunV2 } from 'raygun4js';
const rgj4s: RaygunV2 = require('raygun4js');