Ошибка проверки PWA Lighthouse и пузырьковой обертки при автономном тестировании для start_url
У меня есть PWA, который я пытаюсь использовать для создания приложения для Android (apk) с надежной веб-активностью с помощью инструмента пузырьковой пленки ( https://github.com/GoogleChromeLabs/bubblewrap). Чтобы проверить критерии PWA, он использует Lighthouse, который не проходит следующий шаг аудита (красный):
start_url does not respond with a 200 when offline
Timed out waiting for start_url to respond.
Но на самом деле шаг относительно того, что текущая страница отключена, в порядке (зеленый):
Current page responds with a 200 when offline
Мой PWA размещен по адресу: https://example.com/myapp/. Таким образом, сервис-воркер (манифест) имеет URL-адрес запуска и область действия в "/myapp/". Поэтому, если я открываю эту страницу в автономном режиме (установите флажок "Автономный" на вкладке "Приложение" инструментов разработчика), она будет обслуживать автономную страницу, которая кэшируется в начале при установке сервисного работника (я следовал этому примеру: https://developer.mozilla.org/en-US/docs/Web/API/Cache/match, и вроде все работает нормально, я тестировал даже на своем мобильном телефоне в режиме полета).
Кроме того, стартовая страница перенаправляется на? Locale=en, но это та же веб-страница (поэтому в автономном режиме каждый URL-адрес, похоже, отображает мою автономную html-страницу). Что еще более странно, так это то, что примерно в 20-30 аудиторских отчетах один раз этот шаг проходил случайно)
Я провожу тесты Lighthouse на Mac, Chrome 84.
РЕДАКТИРОВАТЬ: Итак, я провел несколько тестов и увидел, что если я перейду на http://example.com/myapp (вместо http://example.com/myapp/ - в конце есть /), автономная html-страница больше не отображается. Но в манифесте для области видимости и start_url установлено значение "/ myapp /", поэтому я не знаю, является ли это проблемой (если я установлю их в "/myapp", PWA больше не будет работать, говоря, что нет сервисный работник на этом пути, что звучит странно, потому что мой причальный сервер перенаправляет / myapp на / myapp /, которые оба должны быть одним и тем же ресурсом)
1 ответ
Маячная проверка Bubblewrap является оболочкой [API Pagespeed Insights]. PSI API может быть немного ненадежным и иногда не работать. Если сбой постоянен, я бы порекомендовал запустить URL-адрес для PSI, так как вы должны получить тот же отчет, но с более подробной информацией.