内容提要
Next.js 10 引入了多个新特性,包括内置图像组件、自动图像优化、国际化路由和分析功能。新图像组件可自动懒加载和优化图像,提升用户体验。国际化支持简化了多语言网站的开发。此外,Next.js 还推出了速度洞察工具,帮助开发者实时监测网站性能。
延伸解读
图像优化:从构建时到按需生成
Next.js 10 的图像优化在用户请求时按需进行,而非构建时。这意味着无论项目包含 10 张还是 1000 万张图片,构建时间都不会增加。同时,优化适用于任何来源的图片,包括来自 CMS 等外部数据源的图片,解决了传统构建工具无法处理用户提交图片的痛点。
国际化路由:灵活支持两种策略
Next.js 10 内置国际化路由支持子路径和域名两种策略,并允许按页面选择静态生成或服务器渲染。语言检测基于 Accept-Language 头自动重定向,并自动添加 lang 属性。但 hreflang 元标签仍需开发者通过 next/head 手动添加,以完善 SEO。
Speed Insights:关注真实用户性能
Speed Insights 收集真实用户设备上的性能数据,而非模拟测试。它持续测量核心 Web 指标(LCP、FID、CLS),帮助发现第三方脚本、字体、图片等导致的性能回归。对于电商等场景,性能提升可直接转化,例如加载时间减少 0.1 秒可能带来 1% 的转化率增长。
开发者体验的细节改进
Next.js 10 包含多项提升开发效率的更新:getStaticProps/getServerSideProps 支持 Fast Refresh,编辑后自动重新运行;MDX 支持 Fast Refresh;可从第三方 React 组件导入 CSS;next/link 自动解析 href,无需 as 属性;新增 @next/codemod CLI 简化升级;getStaticPaths 支持 fallback: 'blocking' 阻塞预渲染;getStaticProps/getServerSideProps
Q&A
Next.js 10 的新图像组件有什么优势?
新图像组件可以自动懒加载和优化图像,提升用户体验,并且支持响应式布局。
如何在 Next.js 10 中实现国际化路由?
可以通过配置 locales 和选择子路径或域名路由来实现国际化路由。
Next.js Speed Insights 工具的主要功能是什么?
该工具用于实时监测网站性能,帮助开发者了解用户体验和网站加载速度。
Next.js 10 如何支持 React 17?
Next.js 10 完全兼容 React 17,并自动启用新的 JSX 转换,无需额外配置。
Next.js 10 中的自动图像优化是如何工作的?
自动图像优化会根据用户请求动态生成适合的图像大小,并支持现代图像格式。
Next.js 10 的新特性如何提升开发效率?
新特性如 CSS 导入支持和动态路由处理,使开发者能够更方便地管理项目,提高开发效率。