我有一个有角度的 PWA 应用程序。它在起始页显示了很多内容,因此需要从服务器加载内容。这需要一些时间,并且必须完成大量 Javascript 工作。
Google 页面速度洞察率页面为 10/100。它显示“最小化主线程工作 12.4 秒”和“减少 JavaScript 执行时间 7.7 秒”是我应该做的重要更改。
我有两个问题:
一些来自大公司的 PWA 示例,它们在页面速度洞察力方面的评分也很差。
是的,加载时间确实会影响排名,而 SPA 对此非常不利。
您可以采取的一种方法是为您想要索引的内容建立一个常规网站,如果用户想要这样做,则安装一个 PWA(两者可以在同一个域上)。
优点是从谷歌和随机访问者的角度来看,它是一个正常且快速的多页面网站。但一旦安装,它就是一个真正的、动态的 PWA。缺点是它需要更多的工作。
如果您更愿意将所有内容仅保留为一个 SPA PWA,那么我建议您研究代码拆分和延迟加载,并组织您的代码,以便您只加载最初所需的最少代码,然后仅在需要时加载其余代码用过。
最后要考虑的一件事是使用网络工作者来完成繁重的工作而不是主线程。例如,如果你必须进行 API 调用,最好在 web worker 中进行,然后在本地有数据后更新主线程,因为它真的很流畅。