Workbox Service Worker не проходит аудит маяка, когда я включаю сжатие Gzip - PullRequest
1 голос
/ 08 мая 2019

У меня есть сайт next.js, который использует сервер Express для выполнения SSR.

Я использую next-offline в качестве оболочки для Workbox и Next.js.

Мой сайт проходит аудит "устанавливаемого" маяка до тех пор, пока я не включу сжатие gzip с использованием экспресс / сжатие .Это ошибка, которую я получаю, когда сжатие включено (работник службы все еще существует, зарегистрирован и остается таким же с включенным сжатием или без него).

Не регистрирует работника службы, который управляет страницей иSTART_URL.Сервисный работник - это технология, которая позволяет вашему приложению использовать многие функции Progressive Web App, такие как автономный режим, добавление на домашний экран и push-уведомления.Подробнее ...

Я пробовал стандартный способ включения сжатия

app.use(compression())

Я также пытался настроить фильтр, чтобы исключить сжатие работника сервиса - тот же результат.

Это мой сервисный работник:

self.__precacheManifest = [
  {
    "url": "/_next/static/runtime/main-6d31a0ae74beef7a4022.js"
  },
  ... a bunch more of these
];

/**
 * Welcome to your Workbox-powered service worker!
 *
 * You'll need to register this file in your web app and you should
 * disable HTTP caching for this file too.
 * See [removed short url]
 *
 * The rest of the code is auto-generated. Please don't update this file
 * directly; instead, make changes to your Workbox build configuration
 * and re-run your build process.
 * See [removed short url]
 */

importScripts("https://storage.googleapis.com/workbox-cdn/releases/3.6.3/workbox-sw.js");

importScripts(

);

/**
 * The workboxSW.precacheAndRoute() method efficiently caches and responds to
 * requests for URLs in the manifest.
 * See [removed short url]
 */
self.__precacheManifest = [].concat(self.__precacheManifest || []);
workbox.precaching.suppressWarnings();
workbox.precaching.precacheAndRoute(self.__precacheManifest, {});

workbox.routing.registerRoute(/^https:\/\/fonts\.gstatic\.com/, workbox.strategies.cacheFirst(), 'GET');
workbox.routing.registerRoute(/^https?.*/, workbox.strategies.networkFirst(), 'GET');

Почему кодировка gzip сломает мой сервисный работник?

...