AWS
工作原理

当调用 open-next build 时,OpenNext 运行 next build 来构建 Next.js 应用,然后将构建输出转换为可以部署到 AWS 的格式。

构建 Next.js 应用

OpenNext 运行你 package.json 文件中的 build 脚本。根据应用中发现的锁文件,将使用相应的包管理器。将会运行 npm run build、yarn build 或 pnpm build。有关自定义构建命令的更多信息,请参阅 覆盖构建命令。

转换构建输出

构建输出随后被转换为可以部署到 AWS 的格式。转换后的输出生成在你 Next.js 应用内的 .open-next 文件夹中。assets/ 中的文件已准备好上传到 AWS S3。函数代码被封装在 Lambda 处理程序中,准备好部署到 AWS Lambda 或 Lambda@Edge。

my-next-app/
  .open-next/
    cache/                         -> 要上传的 ISR 缓存文件 - 不能直接提供
    assets/                        -> 要上传的静态文件
    server-functions/
      default/                     -> 默认服务器的处理程序代码
      other-fn/                    -> 另一个后端的处理程序代码
    revalidation-function/         -> 重新验证后端的处理程序代码
    image-optimization-function/   -> 图像优化后端的处理程序代码
    warmer-function/               -> 保持服务器函数预热的定时任务代码 - 非必需
    dynamodb-provider/               -> 用于填充 Tag 缓存的自定义资源代码 - 仅适用于 app 目录