Bir react uygulaması oluştururken, hizmet çalışanı varsayılan olarak çağrılır. Neden servis çalışanı kullanılır? Varsayılan çağırmanın nedeni nedir?
Bir react uygulaması oluştururken, hizmet çalışanı varsayılan olarak çağrılır. Neden servis çalışanı kullanılır? Varsayılan çağırmanın nedeni nedir?
Yanıtlar:
Başvurunuz için bir servis görevlisine ihtiyacınız olmayabilir. Create-react-app ile bir proje oluşturuyorsanız, varsayılan olarak çağrılır
Servis çalışanları bu makalede iyi açıklanmıştır . Ondan özetlemek için
A
service worker
, tarayıcınızın bir web sayfasından ayrı olarak arka planda çalıştırdığı ve bir web sayfası veya kullanıcı etkileşimi gerektirmeyen özelliklerin kapısını açan bir komut dosyasıdır. Bugün, onlar zaten gibi özellikler içerenpush notifications
vebackground sync
ve sahipability to intercept and handle network requests
dahilprogrammatically managing a cache of responses
.Gelecekte servis çalışanları,
periodic sync
veya gibi başka şeyleri destekleyebilirgeofencing
.
Bu PR'ye göre uygulama oluşturma-tepki verme
Service workers
create-react-app ile tanıtıldıSWPrecacheWebpackPlugin
.Önbellek stratejisine sahip bir sunucu çalışanı kullanmak, ağ artık gezinme isteklerini yerine getirmek için bir darboğaz oluşturmadığından performans avantajları sunar. Ancak bu, geliştiricilerin (ve kullanıcıların) yalnızca bir sayfaya yapılan "N + 1" ziyaretinde dağıtılan güncellemeleri göreceği anlamına gelir, çünkü önceden önbelleğe alınmış kaynaklar arka planda güncellenir.
Çağrı register service worker
, yeni uygulamalarda varsayılan olarak etkindir, ancak her zaman kaldırabilir ve ardından normal davranışa geri dönebilirsiniz.
Basit ve sade bir deyişle, tarayıcının arka planda çalıştığı ve web sayfaları veya DOM ile hiçbir ilişkisi olmayan ve kullanıma hazır özellikler sağlayan bir betiktir. Ayrıca varlıklarınızı ve diğer dosyalarınızı önbelleğe almanıza yardımcı olur, böylece kullanıcı çevrimdışıyken veya ağda yavaş olduğunda.
Bu özelliklerden bazıları proxy ağ istekleri, push bildirimleri ve arka planda eşitlemedir. Servis çalışanları, kullanıcının zengin bir çevrimdışı deneyime sahip olmasını sağlar.
Servis çalışanını, istemci ile sunucu arasında oturan biri olarak düşünebilirsiniz ve sunucuya yapılan tüm istekler servis çalışanından geçer. Temel olarak, bir aracı. Tüm talep servis çalışanından geçtiğinden, bu talepleri anında yakalayabilir.
Hizmet Çalışanlarının dikkate alması gereken 2 önemli noktayı eklemek istiyorum:
Hizmet Çalışanları HTTPS'ye ihtiyaç duyar. Ancak yerel testi etkinleştirmek için bu kısıtlama geçerli değildir localhost
. Bu, bir Hizmet Çalışanı web uygulaması ile sunucu arasında ortada bir adam gibi davrandığından güvenlik nedenlerinden dolayıdır .
İle App tepki oluşturma çalıştırırken örneğin, Servis Çalışanı sadece üretim ortamında etkindir npm run build
.
Service Worker, Progressive Web App geliştirmeye yardımcı olmak için burada . Create React App bağlamında bununla ilgili iyi bir kaynak buradaki web sitelerinde bulunabilir .