【发布时间】:2020-08-10 11:50:49
【问题描述】:
我有一个网站,我正在尝试优化灯塔页面速度排名。我刚刚从使用 nginx 缓存的 SSR 切换到使用 exportPathMap 和 getInitialProps 的 next export(也使用 nginx 缓存)。
感兴趣的特定页面访问量很大
切换到静态后,第一个内容图像会在 2-2.5 秒内出现加载“慢 3G”。但是 JS 的执行时间大概需要 3-6 秒。
问题:
-
为什么我使用静态导出时脚本评估需要 3-6 秒,我的印象是它会很快?
-
有没有办法优化nextjs JS执行时间?或者可能是 webpack 设置?
【问题讨论】:
-
当我在禁用 javascript 的情况下打开该页面时,我确实获得了所有内容,脚本在用户可以与页面交互之前加载并执行,但所有静态 html 内容似乎在初始加载时都存在。
-
也许尝试延迟导入一些您知道可能非常大的模块,以便您的用户可以进行较低的脚本评估。我还建议通过分析开发工具进行一些审计。
-
我认为这包括所有额外的广告服务脚本,对吧?
-
是的,这包括广告服务脚本,它们会减慢页面速度,对此我无能为力。 @HMR我确实在除重写器部分之外的所有内容上添加了延迟加载,它没有任何不同,我认为这只是重写器部分的逻辑。看看能不能懒加载一部分,不确定静态导出是否支持懒加载,值得研究。
-
想尝试使用lazyload吗?
标签: reactjs webpack next.js pagespeed lighthouse