This plugin will generate aws-lambda compatible function for each Next.JS pages. After that, you can to use theses functions with the AWS cloudformation template or/and AWS serverless template.
This plugin use next-aws-lambda package, create by and for the serverless community ❤️.
👉 Here a full implementation example (step by step)
- Use Next.JS CLI for build your project (
next build)- The configuration file next.config.js must use
target: 'serverless'.
- The configuration file next.config.js must use
- Use SAM or AWS CLI cloudformation for your deployment.
| Next.JS Version | Tests |
|---|---|
| canary | |
| latest | |
| 10.0.5 | |
| 9.5.0 | |
| 9.4.0 |
Use npm :
npm install --save-dev next-aws-lambda-webpack-plugin
Add the plugin to the Next.JS (next.config.js) configuration file.
| Plugin Arguments | Required | Description |
|---|---|---|
| nextJsConfig | YES | Next.JS config retrieve from#next.config.js, see example below. |
| options | NO | see options |
Example:
const GenerateAwsLambda = require('next-aws-lambda-webpack-plugin');
module.exports = {
target: 'serverless',
webpack: (config, nextConfig) => {
config.plugins.push(new GenerateAwsLambda(nextConfig));
return config
},
};| Plugin Options | Required | Default | Description |
|---|---|---|---|
| distDir | No | "out_lambda" | Custom lambda build directory. |
| prefix | No | "l" | Prefix apply to each lambda directory. |
| pages | No | [] | A whitelist who specified SSR pages. If empty array is specified all pages are generated. |
Example:
//...snip...
new AwsLambdaGenerator(nextConfig,{
distDir: 'lambda_build'
})
//...snip...
