угловая 7 pwa уходит в автономный режим - PullRequest
1 голос
/ 15 марта 2019

Я создал проект ng new testpwa затем добавьте pwa ng, добавьте @ angular / pwa, все последние версии и pwa.

У меня на локальном веб-сайте IIS под веб-сайтом по умолчанию видение проекта web api. Я добавил новый проект testpwa web api, который указывает на папку dist / testpwa моего проекта ng, который я описал выше.

так что в моем угловом проекте testpwa я запускаю ng build --prod.

Я захожу в браузер Chrome в режиме инкогнито и перехожу к своему https://localhost/visions/testpwa/, и мое приложение ng открывается и запускается без проблем. Затем я перехожу на вкладку приложения devtools и вижу, что ngsw-worker.js зарегистрирован, затем я выбираю автономный режим и обновляюсь при перезагрузке на вкладке приложения devtools и перезагружаю страницу, все работает, как ожидается, отображается приложение ng и мои внешние изображения. из Интернета также отображаются на вкладке сети в столбце размера. Я вижу, что они загружены из сервисного работника.

Но когда я достаю свой кабель и физически отключаюсь от интернета и перезаписываю приложение ng, все отлично работает, кроме внешних изображений из интернета. Он говорит 504 таймаута и красный на вкладке сети.

Я добавил все в группы данных в URL. Я не знаю, почему он не загружает изображения из сервисного работника, когда я физически отключаю Интернет, но загружает их, когда я имитирую его в автономном режиме dev tools.

Я провел много исследований в Интернете, но пока что ничего не помогло в решении этой конкретной проблемы.

Я также открыл этот выпуск на github [https://github.com/webmaxru/angular-pwa/issues/3#issuecomment-473025927][1], но предложение от https://github.com/webmaxru/angular-pwa/issues/3#issuecomment-473025927

Hello! Попробуйте сделать следующее: Сборка, развертывание, открытие приложения в браузере Обновите страницу еще раз (это важно!) Теперь можно выключить сеть Если вышеупомянутая опция устранила вашу проблему, вот объяснение: при самой первой загрузке страницы и регистрации SW, SW не перехватывает вызовы http, поэтому событие выборки не запускается, поэтому часть конфигурации dataGroups (кэширование во время выполнения) не активный. Это все в соответствии со спецификацией SW и объяснено здесь: https://developers.google.com/web/fundamentals/primers/service-workers/lifecycle По умолчанию выборки страницы не проходят через сервисного работника, если сам запрос страницы не прошел через сервисного работника. Поэтому вам нужно обновить страницу, чтобы увидеть влияние работника сервиса. clients.claim () может переопределить это значение по умолчанию и получить контроль над неконтролируемыми страницами. Пример кода: https://stackoverflow.com/a/45010127

не решает проблему и ниже мой ответ:

О вашем возвышении да, на самом деле я уже читал об этом, но это не решает проблему, с которой я сталкиваюсь. Как я уже сказал, все работает, когда я в автономном режиме через браузер, даже внешние изображения отображаются в качестве примера "https://www.meteotrentino.it/protcivtn-meteo/api/front/mappeImg?nome=MappaBase_0.png".

Но когда я вынимаю интернет-кабель и обновляю все работает, но внешние изображения не отображаются с ошибкой 504 timeout gateway (кстати, все, что из Интернета, например, "https://fonts.googleapis.com/css?family=Ubuntu" или "https://use.fontawesome.com/releases/v5.6.1/css/all.css") также не извлекаются из кеша с той же ошибкой 504. Это то, что я не понимаю, почему это работает, когда интернет отключен в браузере, но не работает, когда я отключаю интернет-кабель.

С уважением

Лечи

...