В настоящее время я разрабатываю два разных приложения React, которые используют Deck.GL для рендеринга двух карт, каждая с разным типом слоя. При использовании их как автономных они оба работают отлично, однако, когда они монтируются в одном и том же родительском приложении, вторая карта, которую я посещаю, дает сбой (из-за загрузки библиотеки два раза или около того).
Учитывая это, я добавил Deck.GL во внешние элементы Webpack обоих приложений и добавил ссылку unpkg на родительское приложение. Однако это дает ошибку «Невозможно разрешить 'h3'», поэтому я также помещаю h3-js во внешние, но он продолжает искать его в javascript Deck.GL. Следующим моим шагом было импортирование из @ deck.gl / core, @ deck.gl / response, @ deck.gl / Layers и т. Д. И загрузка только того, что необходимо, но я получил аналогичную ошибку, поскольку искал ' luma 'в @ deck.gl / Layers.
Итак, как мне правильно определить Deck.GL как внешний Webpack?
Изменить:
Ошибка, которую я получаю при добавлении deck.gl к externals:
Невозможно разрешить пустой спецификатор "h3" из https://unpkg.com/[email protected]/dist.min.js
Ошибки при переходе на вторую карту, которая использует разные слои: Кажется, эта ошибка возникает при использовании маршрутизации Angular для навигации по странице. Если я использую простой <a href>
, они работают отлично, потому что при этом перезагружается вся страница и не загружаются два экземпляра библиотеки.