Как прикрепить тип к библиотеке, доступной в Typescript - PullRequest
0 голосов
/ 04 февраля 2020

Я загружаю библиотеку JS по старинке (loadScript, <script> в DOM, что угодно ...), у меня есть доступные наборы, но я не понимаю, как я могу сказать Typescript что window.myLibrary является конструктором моей библиотеки и соответствует типу, который у меня уже есть.

Допустим, этот импорт импортировал бы зависимость и наборы одновременно

import { MyLibrary } from "myLibrary";


[..]


new MyLibrary("#div", {}); 

Вот так слишком недавно для моего стека. Я только хочу импортировать наборы с помощью Webpack и присоединить его к некоторой переменной window['myLibrary'], но все же преимущества типа машинописи.

1 Ответ

0 голосов
/ 04 февраля 2020

Вот способ прикрепить тип к экземпляру библиотеки

// Import the typings directly
import { MyLibrary } from "../../../../../defs/myLib-4.5";

[...]


// the magic line that attach the type to the window attribute
const GlobalLibraryConstructor = (window as any)['myLibrary'] as typeof MyLibrary;
this.table = new GlobalLibraryConstructor("#div", {}); 

Надеюсь, он вам поможет!

...