web-приложение create-реагировать на приложение - ReferenceError: Не удается найти переменную «Карта» - на iOS 7 / Safari - PullRequest
0 голосов
/ 20 апреля 2019

Я попытался запустить свое реагирующее веб-приложение на старом iPhone 4 (под управлением iOS 7). Даже если я добавил «iOS 7» в список браузеров в package.json, приложение все равно не запустится.

Отладка показывает, что в 1.chunk.js

есть ошибка
Can't find variable 'Map'

Добавление ошибочного кода в App.js вверху или в index.js заставляет меня поверить, что этот чанк запускается перед любым моим кодом. Поэтому я не думаю, что смогу это исправить, импортировав полифилл в эти файлы.

Я попытался добавить скрипт polyfill для Map в index.html, что привело меня к следующей ошибке

Can't find variable 'Set'

Но такой способ взлома не является хорошим решением.

На данный момент я выбросил npm run eject create-реакции-приложение, которое я бы предпочел не делать, но оно может позволить мне обмануть webpack при добавлении полифилов перед этим кодом 1.chunk.js.

Есть ли хороший способ не извлекать create-реагировать на приложение и получать полифилы без хаков в index.html?

Редактировать: Только использование уже связанного пакета core-js в заголовке страницы решило все мои проблемы. Комплект CDN можно использовать так:

    <script src="https://unpkg.com/core-js-bundle@3.0.1"></script>

Или это, если вы хотите использовать уменьшенную версию:

    <script src="https://unpkg.com/core-js-bundle@3.0.1/minified.js"></script>

Не помечать это как решенное, так как может быть и правильное решение. Однако включение любых полизаполнений в ваш собственный код никогда не будет учитываться сценариями сборки для «исправления» сторонней организации, которая запускается перед вашим кодом.

...