Я перемещаю проект в веб-пакет, разбивая код на модули, но в некоторых местах я сталкиваюсь с ситуацией, когда плагин или какой-то другой код ожидает, что map будет видимой глобальной переменной. Следующее исключение выдается, потому что карта ему не доступна:
onRemove: function() {
this._removeMarkers();
this.onMap = false;
map.off("moveend", this._update);
},
Uncaught ReferenceError: map is not defined
at NewClass.onRemove (leaflet.conditionalLayer.js:77)
at NewClass.removeLayer (Layer.js:185)
at NewClass._onInputClick (Control.Layers.js:378)
at HTMLInputElement.handler (DomEvent.js:79)
В настоящее время я создаю переменную карты в файле пакета (map. js в моем случае), который я загружаю вместе со страницей, и импортируйте его в другие модули, подобные этому
import { map } from './map.js';
Весь код листовки и плагины листовок импортируются как скрипты без веб-пакета. Как я могу совместно использовать экземпляр map для всех сценариев, как если бы он был создан без модуля?
На данный момент я решил эту проблему и объявил map как window.map в модуле, и он работает, но кажется, что есть более удобный способ импорта вместо использования оконного объекта.