При наборе с angular-cli
куски получают уникальные имена в производственном режиме. Повторение набора (например, развертывание новой версии) уничтожает каталог dist
и заменяет новые пакеты новыми именами файлов, заменяя только index.html
, указывая на текущие имена пакетов.Обнаружение обновления приложения для SPA
Это вызывает проблемы с уже загруженными экземплярами приложения, когда такая устаревшая версия пытается ленивой нагрузка сверток и получает 404.
Что является лучшей практикой для решения этой проблемы? Я могу думать о нескольких решениях, но хотел бы найти определенный вклад.
Измените процесс сборки, чтобы не удалять устаревшие файлы, но сохраняйте их в течение некоторого времени параллельно. Вопрос тогда остается: как долго? Прямой лимит времени на открытие окна браузера SPA не существует.
Обращайтесь с 404 на нагрузку на пучок так или иначе и перезагрузите приложение. Где это было бы лучше?
Периодически проверяйте «обновление» в SPA, либо с компонентом на стороне сервера. Это дает возможность заставить пользователей обновлять свой SPA, когда доступна новая версия, но недостаток требующей логики на стороне сервера и тем самым смешивание интерфейса и бэкэнд.