Я разработал демонстрационное приложение Angular PWA (Angular v9.1.3), реализующее стратегии performance
и freshness
.
Локально работает отлично, даже в автономном режиме. Но после развертывания на страницах Github он больше не работает должным образом: стратегия
performance
продолжает получать все запросы из сети, а не из кеша - В автономном режиме приложение не работает, так как кажется, что ничего не кэшируется
Я использую angular-cli-ghpages
для развертывания на gh-страницах с помощью следующей команды (angular -pwa -ilerplate - это Имя репо):
ng deploy --base-href=/angular-pwa-boilerplate/
После развертывания я настраиваю свойство start_url
файла веб-манифеста на "/ angular -pwa -ilerplate /", чтобы отразить структуру подкаталога.
Несмотря на то, что путь области видимости является правильным и приложение можно установить, работник службы не кэширует ни ресурсы, ни ответы Http (хотя локально все в порядке).
Я читал много статей об этом, но все исправления не работали:
- Используйте относительный путь
./
для файла рабочего сервиса:
ServiceWorkerModule.register('./ngsw-worker.js', ...)
- Установите относительные значения для scope и start_url в файле манифеста:
"scope": " . ",
" start_url ":" "./"
Здесь DEMO и Github Repo
Похоже также, что еще некоторая текущая работа над этим топи c.
ОБНОВЛЕНИЕ
Я заметил, что если я оставлю start_url: "/"
(следовательно, не настраивая его на base-href), Angular Service Worker и его стратегии кэширования будут работать как garm также на gh-страницах.
Однако приложение больше не устанавливается:
![enter image description here](https://i.stack.imgur.com/sTgcM.png)