Om funksjonen
Formål
Kjenner igjen localhost, 127.0.0.1, [::1]/::1 og .local-verter fra location.hostname (eller en eksplisitt verdi), slik at kode kan slå av produksjonsatferd som cacher innhold under lokal utvikling.
Egner seg for
- Å hindre service worker-registrering og annen aggressiv caching når siden kjøres fra en lokal dev-server (f.eks.
python3 -m http.server), slik at man alltid ser den nyeste versjonen av stiler/skript/markup. - Andre steder der atferd bevisst skal avvike mellom lokal utvikling og produksjon (
lmfaole.party).
Egner seg ikke for
- Ikke en fullstendig miljødeteksjon (skiller ikke test/staging fra produksjon) - kun et lokalt-vs-alt-annet-skille basert på vertsnavn.
- Ikke egnet i miljøer uten
location(f.eks. Web Workers) uten å sende innhostnameeksplisitt.
Signatur(er)
erLokalUtviklingsvert(hostname?: string) => boolean
| Parameter | Type | Beskrivelse |
|---|---|---|
hostname (valgfri) | string | Faller tilbake til location.hostname når utelatt. |
Returnerer: true for localhost, 127.0.0.1, [::1] og alle .local-verter, ellers false.
import {erLokalUtviklingsvert} from "/designsystem/funksjoner/nettverk/er-lokal-utviklingsvert/er-lokal-utviklingsvert.js";
if (erLokalUtviklingsvert()) {
return;
}
await navigator.serviceWorker.register(SERVICE_WORKER_URL);
Prøv selv
Rediger uttrykket under - returverdien oppdateres live.
Tilgjengelighet
Ikke relevant: ren logikk uten DOM eller UI.
Referanser
Brukes av:
turer/js/shared/app-registrering.jsokonomi/js/shared/app-registrering.jsslides/komponenter/slide/slide.js
Avhengigheter: Ingen