本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
将 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 提供商
-
登录 AWS Management Console 并打开 Amplify
控制台。 -
选择要迁移的 Next.js 应用程序。
注意
在 Amplify 控制台中迁移应用程序之前,必须先将应用程序的 package.json 文件更新,以使用 Next.js 12 或 13。
-
在导航窗格中的应用程序设置下,选择常规。
-
如果应用程序有通过 Classic(仅限 Next.js 11)SSR 提供商部署的分支,则控制台会在应用程序主页上显示横幅。在横幅上,选择迁移。
-
在迁移确认窗口中,选择三条语句并选择迁移。
-
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 --regionus-west-2