У меня есть веб-карта Mapbox в моем приложении Angular 2.Lazy Загрузка библиотеки/Зависимость с угловым 2/Webpack без маршрутизатора
Карта привязывается к <div>
тега, например так:
<div id="map"></div>
У меня есть две разные библиотеки, я могу использовать для моего веб-карты: Mapbox GL JS, который использует WebGL или Mapbox.js, который не использует WebGL и более совместим со старыми компьютерами и браузерами.
Когда пользователь загружает мое приложение, я хочу проверить, может ли его браузер использовать библиотеку WebGL. (Example here from Mapbox documentation.)
Если они поддерживают его, я хочу загрузить библиотеку Mapbox GL JS.
Если они не поддерживают его, я хочу загрузить Mapbox.js вместо этого в качестве резервной копии.
(Vanilla Javascript example of this behavior here.)
Я хочу, чтобы это сделать без загрузки обе библиотеки. Я только хочу загрузить одну библиотеку или другую, и весь связанный код, который я написал. (Каждая библиотека имеет свой собственный синтаксис/форматирование, поэтому я не могу повторно использовать один и тот же связанный код для любой библиотеки.)
Как вы думаете, лучшая стратегия для этого в приложении Angular 2 с помощью пакета модулей Webpack?
ПРИМЕЧАНИЕ: В этом случае я не могу использовать маршрутизатор для разделения двух разных карт; в противном случае это может быть намного проще ....
Без маршрутизации, вы не можете просто использовать 'System.import'? – Harangue
@ Harangue - Я думаю, что ты прав. также, [этот пост] (http://stackoverflow.com/questions/34489916/load-external-js-script-dynamically-in-angular-2) уже ответил на этот вопрос ... по крайней мере, на мой взгляд – ymz
Блестящий! Большое спасибо вам обоим. – MattSidor