AWS
OpenNext 获取 Next.js 的构建输出,并将其转换为可部署到各种环境的包。 OpenNext 原生支持 AWS Lambda、Cloudflare 和经典 Node.js 服务器。
OpenNext 的一个显著功能是能够拆分 Next.js 输出,从而支持选择性部署到不同的目标,例如 AWS Lambda、Cloudflare Workers 或 Amazon ECS。这有助于制定符合应用程序特定需求的定制部署策略。
得益于这一点,您可以将部分 API 部署到 ECS,另一部分部署到 Cloudflare Workers,将 SSR 路由部署到另一个 ECS 集群,并将 ISR/SSG 路由部署到 Lambda。
OpenNext AWS 目前由 SST (opens in a new tab) 社区维护;特别是 conico974 (opens in a new tab) 和 khuezy (opens in a new tab)。
我们需要您的帮助来保持其更新和功能完整。请务必 加入我们的 Discord (opens in a new tab) 并在 GitHub 上为我们加星 (opens in a new tab)。
OpenNext 旨在支持所有 Next.js 15 功能,并已在多个平台的生产环境中广泛部署。
NHS England (opens in a new tab), Udacity (opens in a new tab), Gymshark UK (opens in a new tab), SST (opens in a new tab), Cloudflare (opens in a new tab)
某些功能仍在进行中。请提交 新问题 (opens in a new tab) 告诉我们!
- App 和 Pages 路由
- API 路由
- 动态路由
- 静态站点生成 (SSG)
- 服务器端渲染 (SSR)
- 增量静态再生 (ISR)
- 中间件
- 图像优化
- NextAuth.js (opens in a new tab)
- 在 lambda@edge 中运行
- 无冷启动
- 支持 after
- 可组合缓存 (opens in a new tab) (
'use cache')
OpenNext 可以在 Windows 系统上使用,但无法保证对 Windows 的完整支持,原因如下:
- Next.js 自身的工具链就存在 Windows 支持问题,而 OpenNext 又建立在这些工具之上
- OpenNext 团队的资源有限,而考虑到上面这一点,完整支持 Windows 的优先级较低,因此在 Windows 上的投入和测试也较少
基于以上原因,您可以自行承担风险在 Windows 下开发应用。如果您没有其他选择,我们建议您:
- 使用 适用于 Linux 的 Windows 子系统(WSL) (opens in a new tab) 运行 OpenNext
- 在 Linux 虚拟机中运行
- 使用标准的 Next.js 工具链开发,并通过在 Linux/MacOS 环境中运行的 CI/CD 系统(例如 GitHub Actions (opens in a new tab))使用 OpenNext 部署应用
适用于 Linux 的 Windows 子系统(WSL)允许您在 Windows 机器上运行 Linux 环境,而无需单独的虚拟机或双系统启动。Visual Studio Code 还有一个 扩展 (opens in a new tab),可以让使用 WSL 开发变得非常轻松。
开始使用 通过 OpenNext 和您喜欢的框架部署您的应用。