Как импортировать модули Vanilla JS ES6 в TypeScript? - PullRequest
4 голосов
/ 15 февраля 2020

Я пытаюсь импортировать эту библиотеку: Прожектор , что просто JS.

В моем проекте я создал фальшивку d.ts :

declare module 'spotlight.js'

, как предложено VSCode , затем я попробовал каждую отдельную комбинацию импорта:

import * as spotlight from 'spotlight';
import spotlight from 'spotlight';
import { spotlight } from 'spotlight';

, но внутри моего кода выражение spotlight всегда пустое объект.

Чего мне не хватает?

Ответы [ 3 ]

3 голосов
/ 18 февраля 2020

Для этого существует открытый вопрос: https://github.com/nextapps-de/spotlight/issues/6

2 голосов
/ 18 февраля 2020

Как указал @Shinigami - есть открытый вопрос. На мой взгляд, в настоящее время не существует элегантного способа import Spotlight объекта без изменений в библиотеке (также кажется, что npm run build мало помогает). Но, судя по коду, Spotlight доступен через window. Так что должно быть возможно использовать это так

import "spotlight"
window.Spotlight.show(...)
0 голосов
/ 15 февраля 2020

Оператор объявления изначально должен находиться в отдельном файле, также убедитесь, что вы указали правильный путь для оператора импорта.

...