【发布时间】:2018-10-02 02:46:28
【问题描述】:
总结:如何在不使用繁重的 JS 框架的情况下处理 PWA 中的导航、历史记录和深度链接?
在带领团队将现有购物网站从 Angular 1 SPA 转换为多页面应用程序 (MPA) PWA 时,由于 PWA 是一个相当新的概念(对我来说& 我的团队)。
到目前为止,我的理解是,我们可以完全避免使用任何框架并使用普通的旧 javascript 和 service worker,并将 SPA 拆分为 MPA,从而增加了拆分每个页面所需资源的好处,而不必下载巨大的 js SPA 工作所需的文件。
我们卡住的地方是处理路由和使用浏览器历史 API 进行深度链接的能力,以便页面的每个部分都有一个唯一的 URL 并且可以添加书签。
我们当然可以使用 fetch 调用、仅使用 JS 更新页面的一部分并将浏览器状态推送到历史记录来管理这一点,但这似乎需要做很多工作,我们不应该在 2018 年这样做。
是否已经有一些方法/库/模式已经解决了这个问题?
我们研究过使用 react-router(在其他应用程序中使用)或 aurelia(小尺寸)或聚合物 [抱歉,你死在自己的体重下] 但这似乎通过添加很多东西来扼杀 PWA 的基本概念仅用于处理导航的代码。
有什么想法吗?
注意:如果相关,应用程序的 90% 的目标受众使用慢速网络 (~3G)。
【问题讨论】:
-
3G 还意味着一些低成本的 Android 设备?
标签: javascript angular polymer aurelia progressive-web-apps