将 Next.js 11 SSR 应用程序迁移至 Amplify Hosting 计算 - AWS Amplify 托管

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

将 Next.js 11 SSR 应用程序迁移至 Amplify Hosting 计算

部署新的 Next.js 应用程序时,默认情况下 Amplify 使用支持的 Next.js 最新版本。目前,Amplify Hosting 计算 SSR 提供商支持 Next.js 版本 13。

Amplify 控制台会检测您账户中在 Amplify Hosting 计算服务发布之前部署的应用程序,该服务完全支持 Next.js 12 和 13。控制台会显示一个信息横幅,标识使用 Amplify 以前的 SSR 提供商 Classic(仅限 Next.js 11)部署的带有分支的应用程序。我们强烈建议您将应用程序迁移至 Amplify Hosting 计算 SSR 提供商。

您必须同时手动迁移应用程序及其所有生产分支。应用程序不能同时包含 Classic(仅限 Next.js 11)和 Next.js 12 或 13 分支。

按照以下说明将应用程序迁移至 Amplify Hosting 计算 SSR 提供商。

将应用程序迁移至 Amplify Hosting 计算 SSR 提供商
  1. 登录 AWS Management Console 并打开 Amplify 控制台。

  2. 选择要迁移的 Next.js 应用程序。

    注意

    在 Amplify 控制台中迁移应用程序之前,必须先将应用程序的 package.json 文件更新,以使用 Next.js 12 或 13。

  3. 在导航窗格中的应用程序设置下,选择常规

  4. 如果应用程序有通过 Classic(仅限 Next.js 11)SSR 提供商部署的分支,则控制台会在应用程序主页上显示横幅。在横幅上,选择迁移

  5. 在迁移确认窗口中,选择三条语句并选择迁移

  6. Amplify 将构建并重新部署您的应用程序以完成迁移。

恢复 SSR 迁移

当您部署 Next.js 应用程序时,Amplify Hosting 会检测应用程序中的设置并为该应用程序设置内部平台值。有三个有效平台值。SSG 应用程序设置为平台值 WEB。使用 Next.js 版本 11 的 SSR 应用程序设置为平台值 WEB_DYNAMIC。Next.js 12 或 13 的 SSR 应用程序设置为平台值 WEB_COMPUTE

当您按照上一节中的说明迁移应用程序时,Amplify 会将应用程序的平台值从 WEB_DYNAMIC 更改为 WEB_COMPUTE。向 Amplify Hosting 计算完成迁移后,您无法在控制台中恢复迁移。要恢复迁移,必须使用 AWS Command Line Interface 将应用程序的平台值改回 WEB_DYNAMIC。打开终端窗口并输入以下命令,使用您的唯一信息更新应用程序 ID 和区域。

aws amplify update-app --app-id abcd1234 --platform WEB_DYNAMIC --region us-west-2