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