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
});

Response streaming

Read more in Introducing AWS Lambda response streaming.

In order to enable response streaming, enable awsLambda.streaming flag:

nitro.config.ts
export default defineNitroConfig({
  awsLambda: {
    streaming: true
  }
});