Я использую встроенный сервисный работник, найденный в create-react-app
. Я зарегистрировал его в index.tsx с serviceWorker.register();
. Если я создаю производственную сборку и запускаю ее, или запускаю на сервере heroku, я успешно регистрирую сервисного работника. Однако после дальнейшей проверки на вкладке «Приложение» в инструментах разработчика, я вижу service-worker.js
как имя моего работника сервиса, которое НЕ то, что называется моим. Осматривая работника, он также сильно отличается от кода по умолчанию для create-реакции-приложения, его содержимое ниже -
/**
* 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 https://developers.google.com/web/tools/workbox/guides/service-worker-checklist
*
* 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 https://developers.google.com/web/tools/workbox/modules/workbox-build#full_generatesw_config
*/
importScripts("https://storage.googleapis.com/workbox-cdn/releases/4.3.1/workbox-sw.js");
importScripts(
"/precache-manifest.740fac3abc44b443a1d2c6ac9789a1e1.js"
);
self.addEventListener('message', (event) => {
if (event.data && event.data.type === 'SKIP_WAITING') {
self.skipWaiting();
}
});
workbox.core.clientsClaim();
/**
* The workboxSW.precacheAndRoute() method efficiently caches and responds to
* requests for URLs in the manifest.
* See https://developers.google.com/web/tools/workbox/modules/workbox-precaching
*/
self.__precacheManifest = [].concat(self.__precacheManifest || []);
workbox.precaching.precacheAndRoute(self.__precacheManifest, {});
workbox.routing.registerNavigationRoute(workbox.precaching.getCacheKeyForURL("/index.html"), {
blacklist: [/^\/_/,/\/[^\/]+\.[^\/]+$/],
});
Между тем работник службы создания-реакции-приложения должен выглядеть следующим образом this .
Мне интересно, откуда этот другой работник службы, и как я могу убедиться, что мой собственный зарегистрирован вместо этого?