Providers

AWS Lambda

Deploy Nitro apps to AWS Lambda.

Preset: aws_lambda

Read more in AWS Lambda.

Nitro provides a built-in preset to generate output format compatible with AWS Lambda. The output entrypoint in .output/server/index.mjs is compatible with AWS Lambda format.

It can be used programmatically or as part of a deployment.

import { handler } from './.output/server'

// Use programmatically
const { statusCode, headers, body } = handler({ rawPath: '/' })

Inlining chunks

Nitro output, by default uses dynamic chunks for lazy loading code only when needed. However this sometimes can not be ideal for performance. (See discussions in nitrojs/nitro#650). You can enabling chunk inlining behavior using inlineDynamicImports config.

export default defineNitroConfig({
  inlineDynamicImports: true
});

Streaming support (experimental)

Preset: aws_lambda_streaming

Nitro supports an experimental preset to generate output format compatible with AWS Lambda with streaming invoke turned on.

Read more in Introducing AWS Lambda response streaming.
This preset available via nightly channel to try.
This preset is not production ready and might be renamed! Please don't advice users or document to indirectly use it.