Прежде всего, чтобы ответить на реальный вопрос - да - вот сколько времени требуется для загрузки файла такого размера по HTTP. И мы ничего не можем с этим поделать. Если у кого-то есть идеи, как ускорить фактическую процедуру загрузки (без кэширования), дайте мне знать в комментариях.
TL; DR
Единственное решение для этого На данный момент мне известно о кэшировании . Но вам нужно убедиться, что вы кешируете нужные вещи.
Случайные вещи, которые могут оказаться решением
У меня лично было два упущения в моей настройке. Тривиально, но абсолютно необходимо проверить / исправить.
Примечание: Следующее имеет смысл, только если вы разделяете код - сторонние библиотеки, которые не изменяются, должны загружаться отдельно от файлов, над которыми вы работаете (подробнее об этом ниже).
Я отключил кэширование для открытых devtools. Я не помню, почему я включил эту функцию для начала и совершенно забыл, что я сделал. Так что получается очень плохая идея. Убедитесь, что у вас не включен один (убедитесь, что этот флажок снят! ).
Другая большая проблема заключается в том, что используемый мной VSCode, а именно Chrome Плагин отладчика для VSCode по умолчанию отключил кэширование. Так что веб-приложение в режиме отладки стало медленно загружаться из ниоткуда. Хорошей новостью является то, что есть возможность повернуть его обратно: disableNetworkCache
( true по умолчанию)
Даже если вы кешируете, если ваш пакет большой, в конечном итоге кеш станет недействительным, и вам придется подождать, пока загрузится бесплатная версия sh, если только вы не воспользуетесь разбиением кода , чтобы разбить этот пакет на несколько независимых частей, что приведет к недействительности в разное время и даже если они они будут загружаться намного быстрее, чем одна большая свалка.
Советы из личного опыта
Прежде всего, если вы по какой-то причине застряли в устаревшем CRA вам нужно обновить, в основном, все остальные месяц, который вы тратите, не делая этого, усложняет процедуру обновления, которая в любом случае неизбежна, если только вы не планируете работать над этим проектом когда-либо снова.
Если ваш проект уже достиг стадии, когда обновление просто невозможно, потому что Обновленные модули и плагины поставляются с новыми требованиями, которые могут быть несовместимы с файлами в вашем проекте, вам придется их удалить. Это может показаться сумасшедшим, но в конечном итоге это будет менее болезненным, чем попытка сделать это без него.