卡片滑块和常见问题解答折叠面板等部分都使用了 JavaScript,而英雄部分、产品列表和页脚则保持静态。
技巧 #5: 使用动态导入
当使用具有大量交互式组件(例如注册表单、模式或弹出窗口)的复杂 Web 应用程序时,可以使用 动态导入来提高性能。这种方法可确保仅在实际需要时加载必要的代码,而不是在初始页面加载时加载。
例如,假设您有一个隐藏在模态框后面的注册表单。默认情况下,当用户访问该页面时,即使用户没有点击打开模态框,也会下载表单的代码(包括其所有字段)。这意味着页面加载时间会增加,因为它正在获取用户可能不会立即与之交互的代码。
使用动态导入,意大利电话号码查询 只有当用户点击按钮打开模式时,才会加载该表单的代码。这可以显著减少 Web 应用的初始加载时间,因为您不会预先下载不必要的代码。
提示#6:注意布局转变
我尝试使用动态导入来优化我们的网站,这可以将 JavaScript 加载时间缩短几秒钟,但由于布局发生了重大变化,我们的新 Lighthouse 分数低于以前。当网页上的元素在页面加载时突然移动或“跳跃”时,就会发生布局偏移,从而给用户带来不愉快的体验。这被认为是一种糟糕的用户体验,正如我所描述的,它会显著降低您的 Lighthouse 分数。
布局偏移的一个常见原因是加载大型图像或其他重资产。如果图像在加载时没有预留指定空间,则当图像最终出现时,可能会迫使其他元素移动。
为了防止布局偏移,在加载图像和内容时为其预留空间至关重要。一种有效的解决方案是使用 骨架 UI — 模拟最终内容结构的占位符元素。骨架可以在获取内容时保持布局稳定,从而从页面开始加载的那一刻起提供更流畅的体验。Next.js 等工具提供内置图像优化功能,使用透明占位符来预留空间,保持一致的页面布局并避免意外跳转。