AWS
覆盖项
包装器

这是服务器的主入口点。它用于每个服务器,允许你以无服务器模式运行或作为长期运行的服务器运行。

如果你想更好地了解如何实现自己的 Wrapper,最简单的方法是查看现有的 包含的 Wrapper (opens in a new tab) 之一。

有几件事需要注意:

  • 如果你想使用 streaming(用于 next 的 node runtime),你需要创建一个 StreamCreator 并将其传递给 handler。你可以在 node (opens in a new tab)aws-lambda-streaming (opens in a new tab) wrapper 中找到一些示例。
  • 如果你不使用 streaming(如默认的 aws-lambda wrapper 中),你可能仍然需要向 handler 提供一个假的 StreamCreator,以避免 Node 本身的一个奇怪问题(见 这里 (opens in a new tab) 获取示例和更详细的解释)。
  • 如果你使用 Next 的 edge runtime(无论是用于外部 middleware 还是用于 edge 路由或页面),你根本不需要 StreamCreator
  • 如果你处于支持 waitUntil 的无服务器环境中,你应该将其传递给 handler,就像在 cloudflare-edge wrapper (opens in a new tab) 中所做的那样。这可能不是必需的,具体取决于你运行它的位置(例如 aws-lambda-streamingnode wrapper 不需要它。)

包含的 Wrappers

aws-lambda

aws-lambda Wrapper 是 AWS Lambda 的默认 wrapper。如果你在配置中没有提供任何 Wrapper,则默认使用它。

特性

  • Streaming
  • waitUntil 的适当支持

aws-lambda-streaming

aws-lambda-streaming Wrapper 是一个允许你在 AWS Lambda 中使用 streaming 的 wrapper。必须为此 lambda 启用 streaming。

特性

  • Streaming
  • waitUntil 的适当支持

cloudflare-edge

cloudflare-edge Wrapper 是 Cloudflare Workers 的 wrapper。它应该用于外部 middleware 和 Next 的 edge runtime。

特性

  • Streaming
  • waitUntil 的适当支持

cloudflare-node

cloudflare-node Wrapper 是 Cloudflare Workers 的 wrapper。它应该仅与 Next 的 node runtime 一起使用,并且如果你使用 @opennextjs/cloudflare

特性

  • Streaming
  • waitUntil 的适当支持

node

node Wrapper 是经典 Node.js Server 的 wrapper。这是一个长期运行的服务器。

特性

  • Streaming
  • waitUntil 的适当支持

express-dev

express-dev Wrapper 是经典 Express 服务器的 wrapper。它是一个长期运行的进程,仅应用于开发目的。

特性

  • Streaming
  • waitUntil 的适当支持

dummy

dummy Wrapper 是一个虚拟实现,它只会将 event 和 StreamCreator 转发给 handler。

特性

  • Streaming
  • waitUntil 的适当支持