优化
Next.js 提供了多种内置优化功能,旨在提升应用速度和 核心 Web 指标。本指南将介绍可用来增强用户体验的优化方案。
内置组件
内置组件封装了常见 UI 优化的实现复杂度。这些组件包括:
- 图片组件:基于原生
<img>
元素开发。通过懒加载和根据设备尺寸自动调整图片大小来优化图片性能。 - 链接组件:基于原生
<a>
标签开发。该组件会在后台预取页面,实现更快速流畅的页面切换。 - 脚本组件:基于原生
<script>
标签开发。让您可以控制第三方脚本的加载和执行。
元数据
元数据能帮助搜索引擎更好地理解您的内容(从而提升 SEO 效果),并允许您自定义内容在社交媒体上的展示方式,帮助您在不同平台上创建更具吸引力和一致性的用户体验。
Next.js 中的元数据 API 允许您修改页面的 <head>
元素。您可以通过两种方式配置元数据:
- 基于配置的元数据:在
layout.js
或page.js
文件中导出静态 metadata 对象或动态 generateMetadata 函数。 - 基于文件的元数据:向路由段添加静态或动态生成的特殊文件。
此外,您还可以使用 imageResponse 构造函数,通过 JSX 和 CSS 创建动态 Open Graph 图片。
静态资源
Next.js 的 /public
文件夹可用于提供静态资源,如图片、字体和其他文件。/public
内的文件还可以被 CDN 提供商缓存,从而实现高效分发。
分析与监控
对于大型应用,Next.js 集成了流行的分析和监控工具,帮助您了解应用性能。更多信息请参阅 OpenTelemetry 以及 Instrumentation 指南。
图片
使用内置的 `next/image` 组件优化您的图片。
字体
使用内置的 `next/font` 加载器优化您应用的网页字体。
脚本
使用内置的 Script 组件优化第三方脚本。
元数据 (Metadata)
使用元数据 (Metadata) API 在任何布局或页面中定义元数据。
静态资源
Next.js 允许您在 public 目录中提供静态文件(如图片)。您可以在此了解其工作原理。
懒加载 (Lazy Loading)
通过延迟加载导入的库和 React 组件来提升应用的加载性能。
分析 (Analytics)
使用 Next.js Speed Insights 测量和追踪页面性能
OpenTelemetry
了解如何为您的 Next.js 应用集成 OpenTelemetry 监控。
仪表化 (Instrumentation)
了解如何在 Next.js 应用中通过仪表化 (Instrumentation) 在服务器启动时运行代码