У меня есть сайт 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 сломает мой сервисный работник?