Amplify 对 Next.js 的支持 - AWS Amplify 托管

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Amplify 对 Next.js 的支持

Amplify 支持部署和托管使用 Next.js 创建的服务器端渲染 (SSR) 网络应用程序。Next.js 是一个用于开发SPAs的 React 框架 JavaScript。您可以部署使用 Next.js 版本构建的应用程序,这些应用程序包含图像优化和中间件等功能。Next.js

开发人员可以使用 Next.js 将静态网站生成 (SSG) 和合并到单个项目SSR中。 SSG页面是在构建时预渲染的,SSR页面是在请求时预渲染的。

预渲染可以增强性能和搜索引擎优化。由于 Next.js 会预渲染服务器上的所有页面,因此当每个页面的HTML内容到达客户端的浏览器时就准备好了。这一内容的加载速度也更快。更快的加载时间可以改善最终用户的网站体验,并对网站的SEO排名产生积极影响。SEO通过使搜索引擎机器人能够轻松查找和抓取网站HTML内容,还可以改进预渲染。

Next.js 为衡量各种性能指标提供了内置的分析支持,例如第一个字节的时间 (TTFB) 和第一个内容绘制时间 (FCP)。有关 Next.js 的更多信息,请参阅 Next.js 网站上的开始使用

Next.js 功能支持

Amplify Hosting 计算完全管理使用 Next.js 版本 12 到 15 构建的应用程序的服务器端渲染 (SSR)。

如果你在 2022 年 11 月 Amplify Hosting 计算版发布之前在 Amplify 上部署了 Next.js 应用程序,那么你的应用程序使用的是 Amplify 之前的SSR提供商 Classic(仅限 Next.js 11)。Amplify Hosting 计算不支持使用 Next.js 11 或更早版本创建的应用程序。我们强烈建议你将 Next.js 11 应用程序迁移到 Amplify Hosting 计算托管提供商。SSR

以下列表描述了 Amplify 托管计算SSR提供商支持的具体功能。

支持的特征
  • 服务器端渲染的页面 () SSR

  • 静态页面

  • API路线

  • 动态路由

  • 捕获所有路由

  • SSG(静态生成)

  • 增量静态再生 (ISR)

  • 国际化 (i18n) 子路径路由

  • 国际化 (i18n) 域名路由

  • 国际化 (i18n) 自动区域检测

  • 中间件

  • 环境变量

  • 图像优化

  • Next.js 13 应用程序目录

不支持的 特征
  • 边缘API路由(不支持边缘中间件

  • 按需增量静态再生 (ISR)

  • Next.js 流式处理

  • 基于静态资产和经优化的图像运行中间件

  • 使用响应后执行代码unstable_after(Next.js 15 中发布的实验性功能)

Next.js 图像

最大图像输出大小不能超过 4.3 MB。你可以将更大的图像文件存储在某个地方,然后使用 Next.js Image 组件调整其大小并将其优化为 Webp 或AVIF格式,然后将其用作较小的尺寸。

注意,Next.js 文档建议您安装 Sharp 图像处理模块,使图像优化能够在生产环境中正常运行。但是,Amplify 部署不需要如此。Amplify 会自动为您部署 Sharp。