Al crear una aplicación de reacción, el trabajador de servicio se invoca de forma predeterminada. ¿Por qué se utiliza el trabajador de servicio? ¿Cuál es el motivo de la invocación predeterminada?
Es posible que no necesite un trabajador de servicio para su aplicación. Si está creando un proyecto con create-react-app, se invoca de forma predeterminada
Los trabajadores de servicios están bien explicados en este artículo. Para resumir de ello
Un
service workeres un script que su navegador ejecuta en segundo plano, separado de una página web, que abre la puerta a funciones que no necesitan una página web o la interacción del usuario. Hoy en día, ya incluyen funciones comopush notificationsautomáticas ybackground syncy tienenability to intercept and handle network requests, incluidaprogrammatically managing a cache of responses.En el futuro, los trabajadores del servicio podrían admitir otras cosas, como
periodic syncogeofencing.
De acuerdo con este PR para crear-reaccionar-aplicación
Service workersse presentan con create-react-app a través deSWPrecacheWebpackPlugin.El uso de un trabajador de servidor con una estrategia de caché primero ofrece ventajas de rendimiento, ya que la red ya no es un cuello de botella para cumplir con las solicitudes de navegación. Sin embargo, significa que los desarrolladores (y los usuarios) solo verán las actualizaciones implementadas en la visita "N+1" a una página, ya que los recursos previamente almacenados en caché se actualizan en segundo plano.
La llamada para register service worker está habilitada de forma predeterminada en las nuevas aplicaciones, pero siempre puede eliminarla y luego volverá a su comportamiento normal.
En palabras simples y sencillas, es un script que el navegador ejecuta en segundo plano y no tiene ninguna relación con las páginas web o el DOM, y proporciona funciones listas para usar. También lo ayuda a almacenar en caché sus activos y otros archivos para que cuando el usuario esté desconectado o en una red lenta.
Algunas de estas características son solicitudes de red de proxy, notificaciones automáticas y sincronización en segundo plano. Los trabajadores del servicio se aseguran de que el usuario tenga una rica experiencia fuera de línea.
Puede pensar en el trabajador del servicio como alguien que se sienta entre el cliente y el servidor y todas las solicitudes que se realizan al servidor pasan por el trabajador del servicio. Básicamente, un intermediario. Dado que todas las solicitudes pasan por el trabajador del servicio, es capaz de interceptar estas solicitudes sobre la marcha.
Me gustaría agregar 2 consideraciones importantes sobre Service Workers a tener en cuenta:
Los trabajadores del servicio requieren HTTPS. Pero para habilitar las pruebas locales, esta restricción no se aplica a localhost . Esto es por razones de seguridad, ya que un Service Worker actúa como un hombre en el medio entre la aplicación web y el servidor.
Con Create React App Service Worker solo está habilitado en el entorno de producción, por ejemplo, cuando se ejecuta npm run build .
Service Worker está aquí para ayudar a desarrollar una aplicación web progresiva . Puede encontrar un buen recurso al respecto en el contexto de Create React App en su sitio web aquí .