Просто для справки, это связано с тем, что веб-пакет пытается включить файл изображения «Значок маркера», указанный в брошюре CSS, в качестве ресурса c в другой папке и, возможно, переименовать файл (например, для отпечатков пальцев); все это мешает алгоритму Leaflet, который использует это изображение только в качестве указателя на его действительную папку CSS images, которая, следовательно, может полностью отсутствовать после этапа сборки веб-пакета.
См. подробности в https://github.com/Leaflet/Leaflet/issues/4968
Я специально создал плагин Leaflet для решения этой проблемы: https://github.com/ghybs/leaflet-defaulticon-compatibility
Извлечение всех параметров значка листовки по умолчанию из CSS, в частности URL-адреса всех значков изображений, чтобы улучшить совместимость с компоновщиками и платформами, которые изменяют URL-адреса в CSS.
К сожалению, он все равно не будет работать в CodeSandbox (или даже в StackBlitz), поскольку последний не работает обрабатывать эти активы c. Это видно, просто пытаясь использовать Leaflet Layers Control, который использует очень простое CSS фоновое изображение, которое также отсутствует в CodeSandbox.
Но все должно быть хорошо в вашей собственной среде.
демо в CodeSandbox: https://codesandbox.io/s/elegant-swirles-yzsql
и в StackBlitz (те же данные c выпуск активов): https://stackblitz.com/edit/react-vqgtxd?file=index.js