Sådan integreres Service Workers i Next.js-applikationer

Sådan integreres Service Workers i Next.js-applikationer
Læsere som dig hjælper med at støtte MUO. Når du foretager et køb ved hjælp af links på vores websted, kan vi optjene en affiliate-kommission. Læs mere.

Servicemedarbejdere er scripts, der kører i baggrunden for at levere kraftfulde caching-funktioner og andre funktioner til moderne webapplikationer.





Disse funktioner bringer den sømløse og brugervenlige oplevelse af native apps til webbrowseren.





Servicemedarbejdere er en grundlæggende komponent i skabelsen af ​​Progressive Web Apps (PWA'er).





hvordan man scanner dokumenter på iphone

Forståelse af servicemedarbejdere

En servicemedarbejder er en type JavaScript webarbejder der kører i baggrunden, adskilt fra JavaScript-hovedtråden, så den er ikke-blokerende. Det betyder, at det ikke forårsager forsinkelser eller afbrydelser af applikationens brugergrænseflade eller brugerens interaktion med den.

 Laptop display med kode på skærmen og en kugleholder med kuglepenne på siden.

Servicemedarbejdere fungerer som proxyservere – der sidder mellem webapplikationer og netværket. De kan opsnappe anmodninger og svar, cache ressourcer og yde offline support. Dette er med til at sikre, at webapps føles mere sømløse og brugervenlige, selv når brugeren ikke er online.



hvordan man overfører data fra en pc til en anden

Nøgleapplikationer til servicemedarbejdere

Der er flere applikationer til servicemedarbejdere. De omfatter:

  • PWA'er: Servicemedarbejdere leverer stor kraft til progressive webapps. De udfører tilpassede netværksanmodninger, push-meddelelser, offline support og hurtig indlæsning.
  • Caching: Servicemedarbejdere kan gemme applikationens aktiver – billeder, JavaScript-kode og CSS-filer – i browserens cachelager. Dette lader browseren hente dem fra sin cache i stedet for at hente dem fra fjernserveren over netværket. Som et resultat indlæses indhold hurtigere, hvilket er særligt nyttigt for brugere med langsomme eller upålidelige internetforbindelser.
  • Baggrundssynkronisering: Servicemedarbejdere kan synkronisere data og køre andre baggrundsopgaver, selv når brugeren ikke aktivt interagerer med applikationen, eller når applikationen ikke er åben i browseren.

Integration af Service Workers i Next.js-applikationer

Før du dykker ned i koden, hjælper det at forstå, hvordan servicemedarbejdere arbejder. Der er to nøglefaser ved brug af servicemedarbejdere: registrering og aktivering .





I den første fase registrerer browseren servicemedarbejderen. Her er et simpelt eksempel:

const registerServiceWorker = async () => { 
  if ("serviceWorker" in navigator) {
    registration = await navigator.serviceWorker.register("/sw.js");
  }
};

registerServiceWorker();

Koden tjekker først, om browseren understøtter servicearbejdere, hvilket alle moderne webbrowsere gør. Hvis denne understøttelse findes, fortsætter den med at registrere en servicearbejder, der er placeret på den angivne filsti.





hvordan man får et billede fra en pdf

I aktiveringsfasen skal du installere og aktivere en servicemedarbejder ved at lytte til installere og aktivere begivenheder ved hjælp af JavaScript-begivenhedslyttere . Sådan kan du opnå dette:

registration.addEventListener("install", () => { 
    console.log("Service worker installed");
});

registration.addEventListener("activate", () => {
    console.log("Service worker activated");
});

Du kan inkludere denne kode lige efter registreringsprocessen. Det bør køre lige efter, at servicearbejder-registreringsprocessen er vellykket.