React js 中的 Service Worker 是什么

2022-08-30 05:03:30

创建 react 应用时,默认情况下会调用服务工作线程。为什么使用服务工作者?默认调用的原因是什么?


答案 1

您的应用程序可能不需要服务工作线程。如果您使用create-react-app创建项目,则默认情况下会调用它

本文中很好地解释了服务工作者。从中总结

A 是浏览器在后台运行的脚本,与网页分开,为不需要网页或用户交互的功能打开了大门。今天,它们已经包含诸如 和 和 具有 等功能,包括 。service workerpush notificationsbackground syncability to intercept and handle network requestsprogrammatically managing a cache of responses

将来,服务工作者可能会支持其他内容,如 或 。periodic syncgeofencing

根据这个PR来创建-反应-应用程序

Service workers通过 create-react-app 引入。SWPrecacheWebpackPlugin

将服务器工作线程与缓存优先策略结合使用可提供性能优势,因为网络不再是满足导航请求的瓶颈。但是,这确实意味着开发人员(和用户)只能在对页面的“N + 1”访问时看到已部署的更新,因为以前缓存的资源是在后台更新的。

默认情况下,在新应用中启用 to 调用,但你始终可以将其删除,然后返回到正常行为。register service worker


答案 2

简单明了地说,它是一个浏览器在后台运行的脚本,与网页或DOM没有任何关系,并提供开箱即用的功能。它还可以帮助您缓存资产和其他文件,以便在用户脱机或处于慢速网络时。

其中一些功能是代理网络请求,推送通知和后台同步。服务工作者确保用户具有丰富的脱机体验。

您可以将服务工作线程视为位于客户端和服务器之间的人,并且向服务器发出的所有请求都通过服务工作线程。基本上,一个中间人。由于所有请求都通过服务工作线程,因此它能够动态拦截这些请求。

enter image description here