Вот неожиданная проблема, с которой я столкнулся с разрывом кода Webpack в дикой природе. Представьте себе этот сценарий:
- Пользователь загружает приложение React с разделением кода Webpack и загружается несколько кусков пакета
- Развертывание происходит, и содержимое любых будущих кусков, которые пользователь может получать с сервера, обновляется (обратите внимание: предыдущие фрагменты удаляются на сервере во время развертывания)
- Пользователь нажимает на ссылку и загружает новый маршрут, который запускает больше пакетов для загрузки. Кроме того, эти новые куски несовместимы с теми, которые пользовательский браузер уже загрузил, и приложение ломается из-за ошибки времени выполнения
Как можно предотвратить этот сценарий?
Одним из возможных решений было бы поддерживать несколько версий наборов кусков, но мне интересно, есть ли более простое решение, используемое крупномасштабными приложениями.
Если используется preload-webpack-plugin, все куски могут быть предварительно загружены, но они останутся в кэше в течение короткого времени (5 минут в Chrome).