创建 React 应用程序时,默认调用 Service Worker。为什么使用 Service Worker?默认调用的原因是什么?
什么是react js中的service worker
您的应用程序可能不需要 Service Worker。如果您使用 create-react-app 创建项目,默认情况下会调用它
服务人员在很好的解释这个文章。从中总结
A
service worker
是浏览器在后台运行的脚本,与网页分开,为不需要网页或用户交互的功能打开大门。今天,它们已经包括像push notifications
和这样的特性,background sync
并且有ability to intercept and handle network requests
,包括programmatically managing a cache of responses
。将来,Service Worker 可能会支持其他东西,例如
periodic sync
或geofencing
。
Service workers
通过 create-react-app 引入SWPrecacheWebpackPlugin
。使用具有缓存优先策略的服务器工作者可提供性能优势,因为网络不再是满足导航请求的瓶颈。然而,这确实意味着开发人员(和用户)只会在“N+1”访问页面时看到已部署的更新,因为之前缓存的资源是在后台更新的。
register service worker
在新应用程序中默认启用调用,但您可以随时将其删除,然后您就会恢复正常行为。
我想添加关于 Service Worker 的 2 个重要注意事项以供考虑:
Service Worker 需要 HTTPS。但要启用本地测试,此限制不适用于
localhost
. 这是出于安全原因,因为 Service Worker 就像处于 Web 应用程序和服务器之间的中间人。使用Create React App Service Worker 仅在生产环境中启用,例如在运行
npm run build
.
Service Worker 是来帮助开发渐进式 Web 应用程序的。在 Create React App 的上下文中可以找到关于它的一个很好的资源,可以在他们的网站上找到。