Я пытаюсь заставить библиотеку Leaflet хорошо работать с моим проектом Typescript.
Мой проект следует шаблону commonJs (импорт \ экспорт в моих исходных файлах), но когда я создаю с помощью webpack, компилятор выдает мне следующие ошибки из моих файлов, когда я пытаюсь получить доступ к глобальному L
, открытому модулем листовки
«L» относится к глобалу UMD, но текущий файл является модулем. Вместо этого рассмотрите возможность добавления импорта.
Теперь я могу обойти это, если импортирую буклет в свои исходные файлы следующим образом:
import * as L from 'leaflet'
Но мне было интересно, смогу ли я получить глобальный доступ ко всем моим файлам без необходимости импорта в каждый из моих файлов.
Я покопался и нашел несколько обходных путей, с помощью которых вы можете объявить свои собственные глобальные переменные следующим образом:
globals.d.ts
import * as L from "leaflet";
declare global {
const L: L
}
export {};
Я не уверен, что это рекомендуется, это кажется немного грязным взломом, есть ли правильный способ с конфигурацией webpack для предоставления глобальных объектов, предоставляемых модулями UMD для проекта commonJs, или я несу чушь? Признаюсь, я запутался, пытаясь понять различия между типами модулей и их взаимозаменяемость, так что не беспокойтесь!