• Русский
  • Режим injectManifest

    Вы можете создать собственный Service Worker, передав {mode: "injectManifest"} в конфиг. Единственным обязательным полем (помимо mode) является srcFile, которое должно указывать на путь к вашему SW. Плагин использует rsbuild для сборки SW, поэтому typescript поддерживается из коробки.

    Минимальный пример:

    import { precacheAndRoute, cleanupOutdatedCaches } from "workbox-precaching";
    
    // настоятельно рекомендуется
    cleanupOutdatedCaches();
    
    precacheAndRoute(self.__WB_MANIFEST);
    
    self.addEventListener("message", (event) => {
      if (event.data && event.data.type === "SKIP_WAITING") {
        self.skipWaiting();
      }
    });

    Обратите внимание, что workbox-precaching должен быть установлен.