Угловой импорт сторонней библиотеки JS без наборов - PullRequest
0 голосов
/ 03 марта 2019

Я хочу использовать Skype Web SDK в приложении Angular (7).

Чтобы проверить это, я добавил тег script в свой index.html

<script src="https://swx.cdn.skype.com/shared/v/1.2.35/SkypeBootstrap.min.js"></script>

Первая проблема (кроме документации, обычно не очень понятной для Microsoft), заключается в том, что мне нужнофайл наборов для SDK.Один существует?Я не могу найти один.Если только я не смогу ответить на следующий вопрос - как мне справиться с этим в моем приложении?

например, в моем компоненте я пытаюсь инициализировать Skype, но получаю ошибку Typescript

ОШИБКА в src / app / home / home.component.ts (23,5): ошибка TS2304: невозможнонайти имя 'Skype'.

Что мне нужно сделать в конструкторе / импорте Typescript, чтобы компонент распознал переменную?

import { Component, OnInit } from '@angular/core';
import './SkypeBootstrap.min.js';

@Component({
  selector: 'app-home',
  templateUrl: './home.component.html',
  styleUrls: ['./home.component.css']
})
export class HomeComponent implements OnInit {
  Skype: any;

  constructor() { }

  ngOnInit() {

    Skype.initialize({
      //omitted
    });
  }

1 Ответ

0 голосов
/ 03 марта 2019

Если для этой библиотеки нет файла d.ts, вам все равно придется сделать его самостоятельно, а затем использовать declare var Skype: any; перед объявлением класса, а затем объявить поле класса как обычно

SkypeField: Skype;
...