javascript - 渐进式 Web 应用程序在性能方面与普通 Web 应用程序有何不同

标签 javascript web web-applications service-worker progressive-web-apps

我目前一直在阅读有关渐进式网络应用程序的信息,pwa 使用 service worker 进行离线缓存以加快性能。但为什么我不能将 localstorage 用于与 service worker 相同的目的?这样如果我们没有从 api 请求中得到响应,我们可以从本地存储加载数据。 Assets 的普通浏览器缓存?

可能这是个愚蠢的问题,但还是想问这个问题。任何建议表示赞赏。

最佳答案

首先,service worker 运行在与主应用程序不同的线程上。这就是为什么您可以使用 Service Worker 来提高性能,因为它的操作不会影响您的主应用程序。

您可以使用本地存储在客户端存储数据,但不能将其用于离线缓存。要从 localstorage 获取数据,您需要先加载一个脚本,该脚本将尝试访问 localstorage。

SeriveWorkers也是存放在client中,可以拦截网络层。因此,在您的 Service Worker 中,您可以决定是先从缓存中加载特定路由,还是尝试从网络请求它。

观看这段很好地解释了概念的视频:https://www.youtube.com/watch?v=OBfLvqA_E4A

关于javascript - 渐进式 Web 应用程序在性能方面与普通 Web 应用程序有何不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44457677/

相关文章:

javascript - ESLint eslint-plugin-react 箭头函数

javascript - 如何使用 Angularjs 在加载时显示图像?

javascript - 使用 browserify 进行条件编译/要求(消除死代码)

css - 背景颜色的目标 Div

user-interface - HiveMQ 中 Web UI 的 SSL/TLS

python - Django 重定向不起作用

c# - GetResponse() 发生 500 内部服务器错误

asp.net - 服务器向 Web 客户端发送消息的最佳方式是什么?

web-applications - 忽略应用程序 URL 的 webapps 中的文件夹名称

javascript - 从内部点击获取外部id