Ошибка установки Raygun версии 6 в Angular

Ошибка установки Raygun версии 6 в Angular

Ошибка:

ОШИБКА в src/app/app.raygun.setup.ts(6,20): ошибка TS2304: не удается найти имя 'RaygunV2'.

Кажется, эта строка не нравится: объявлять let rg4js: RaygunV2;

Я установил эти npms для raygun:

@ 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 ответ

Это потому, что из-за недосмотра мы не экспортируем RaygunV2 объект как часть определения типа. Это будет исправлено в следующей версии Raygun4JS (без ETA). На данный момент лучшее, что вы можете сделать, это просто объявить переменную как any,

Sidenote: я не вижу, что вы пытаетесь импортировать RaygunV2 type, вам придется сделать это, когда мы в конце концов экспортируем тип из определений типов.

Редактировать (25/10/18): Это все еще не решено должным образом, но вы можете использовать следующий фрагмент в качестве обходного пути

import { RaygunV2 } from 'raygun4js';
const rgj4s: RaygunV2 = require('raygun4js');
Другие вопросы по тегам