AWS
工作原理

在调用 open-next build 时,OpenNext 会执行以下操作:

  1. 运行 next build 构建 Next.js 应用
  2. 转换构建输出 为可部署到 AWS 的格式

构建 Next.js 应用

OpenNext 会执行您 package.json 文件中定义的 build 脚本。根据应用目录中检测到的锁文件类型,将自动选择对应的包管理器执行构建命令,可能是 npm run buildyarn buildpnpm 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/               -> 用于填充标签缓存的自定义资源代码(仅 app 目录需要)