Я развернул рабочее приложение Angular 9 на облачном сервере S3 +. Он работает очень хорошо, но каждый раз, когда я выпускаю новое обновление приложения, возникают проблемы. Я прочитал много статей:
Я установил правильное кеширование для index. html и ngsw-worker. js, чтобы они не кешировались из cloudFront. Каждое развертывание Angular сохраняется на S3 в новой папке с номером сборки, например:
введите описание изображения здесь
После этого я изменяю имя каталога CloudFront, чтобы указать на новое местоположение. К сожалению, это создает ряд проблем для клиентов, у которых есть предыдущая версия приложения. Фактически, если сервисный работник не получил обновление, когда пользователь загружает приложение, если пользователь загружает некоторую часть приложения, которая не была кэширована раньше, я получаю сообщение об ошибке загрузки фрагмента (потому что он больше не существует на S3 ).
Поэтому мне интересно, как лучше всего развернуть приложение Angular на AWS S3 + CloudFront. Должен ли я загружать все файлы в одну папку? Разве это не слишком неэффективно (очень скоро у меня будут тысячи файлов)? Любые подсказки приветствуются.