Podczas tworzenia aplikacji React Service Worker jest domyślnie wywoływany. Dlaczego Service Worker jest używany? Jaki jest powód domyślnego wywołania?
źródło
Podczas tworzenia aplikacji React Service Worker jest domyślnie wywoływany. Dlaczego Service Worker jest używany? Jaki jest powód domyślnego wywołania?
Możesz nie potrzebować pracownika serwisu do swojej aplikacji. Jeśli tworzysz projekt za pomocą aplikacji create-react-app, jest ona wywoływana domyślnie
W tym artykule dobrze wyjaśniono pracowników usług . Podsumowując z tego
A
service worker
to skrypt uruchamiany w tle przez przeglądarkę, niezależnie od strony internetowej, otwierający drzwi do funkcji, które nie wymagają strony internetowej ani interakcji z użytkownikiem. Dziś zawierają już funkcje takie jakpush notifications
ibackground sync
i mająability to intercept and handle network requests
, w tymprogrammatically managing a cache of responses
.W przyszłości pracownicy usług mogą wspierać inne rzeczy, takie jak
periodic sync
lubgeofencing
.
Zgodnie z tym PR, aby stworzyć-reagować-app
Service workers
są wprowadzane za pomocą aplikacji create-react-za pośrednictwemSWPrecacheWebpackPlugin
.Korzystanie z serwera roboczego ze strategią polegającą na pierwszej kolejności pamięci podręcznej zapewnia korzyści w zakresie wydajności, ponieważ sieć nie jest już wąskim gardłem w realizacji żądań nawigacji. Oznacza to jednak, że programiści (i użytkownicy) zobaczą wdrożone aktualizacje tylko podczas wizyty „N + 1” na stronie, ponieważ wcześniej buforowane zasoby są aktualizowane w tle.
Wywołanie do register service worker
jest domyślnie włączone w nowych aplikacjach, ale zawsze możesz je usunąć, a następnie powrócisz do normalnego zachowania.
Mówiąc prosto, jest to skrypt, który przeglądarka działa w tle i nie ma żadnego związku ze stronami internetowymi ani DOM, a także udostępnia funkcje gotowe do użycia. Pomaga również w buforowaniu zasobów i innych plików, tak aby użytkownik był offline lub w wolnej sieci.
Niektóre z tych funkcji to proxy żądań sieciowych, powiadomienia push i synchronizacja w tle. Pracownicy serwisu zapewniają użytkownikowi bogate doświadczenie w trybie offline.
Można myśleć o mechanizmie Service Worker jako o kimś, kto siedzi między klientem a serwerem, a wszystkie żądania kierowane do serwera przechodzą przez niego. Zasadniczo średni mężczyzna. Ponieważ wszystkie żądania przechodzą przez pracownika usługowego, jest on w stanie przechwytywać te żądania w locie.
źródło
Chciałbym dodać 2 ważne uwagi dotyczące pracowników usług, które należy wziąć pod uwagę:
Service Workers wymagają protokołu HTTPS. Jednak aby umożliwić testowanie lokalne, to ograniczenie nie ma zastosowania do
localhost
. Dzieje się tak ze względów bezpieczeństwa, ponieważ Service Worker zachowuje się jak człowiek pośrodku między aplikacją internetową a serwerem.Z Create React App Service Worker jest włączony tylko w środowisku produkcyjnym, na przykład podczas uruchamiania
npm run build
.Service Worker jest tutaj, aby pomóc w opracowaniu progresywnej aplikacji internetowej . Dobre źródło informacji na ten temat w kontekście aplikacji Create React można znaleźć na ich stronie internetowej tutaj .
źródło