Я создаю простое приложение в Typescript.Я хотел бы использовать RxJs в нем.Обычно в браузере, как говорят документы для RxJ, если бы я использовал CDN, у меня было бы пространство имен rxjs
, доступное в глобальной области видимости.Тогда у меня будет возможность разложить его таким образом:
const { fromEvent } = rxjs;
... и это все, что нужно (например, fromEvent(button, 'click').pipe(...)
и т. Д.).Поскольку я пишу приложение для настольного использования (с электронным), я установил rxjs через npm install rxjs
.И вот я застрял.Независимо от того, каким образом я пытаюсь импортировать его в мой файл .ts, это приводит к ошибкам типа «Тип (...) не имеет свойства / нет экспортируемого члена fromEvent» или подобному.Я пытался:
import * as rxjs from 'rxjs';
import { rxjs } from 'rxjs';
import { rxjs } from 'rxjs/Rx';
import { fromEvent } from 'rxjs';
import { fromEvent } from 'rxjs/Rx';
import { fromEvent } from 'rxjs/fromEvent';
но ни один из них не работал.Я также попробовал declare var rxjs
, и это сработало, но на самом деле какой смысл использовать статически типизированный язык, если мы теряем таким образом всю информацию о типах и не можем использовать проверку типов (насколько я исследовал, сам RxJs написан на Typescript, поэтому не должно быть проблем с импортом всей информации о типах)?
Может быть, это глупый вопрос, и я должен полностью изменить свой образ мышления, если это так - пожалуйста, поправьте меня, но как можноИмпортировать rxjs
пространство имен в машинописный текст?Чтобы я мог написать тот же код, что и в .js в браузере?