Serverless
We are going to deploy the API using the Serverless Framework. The documentation is excellent and covers everything we need. If you are not familiar with Serverless, try the hello work example and the user guide.
In our setup, we will use 3 serverless plugins:
Typescript to transpile our code Javascript.
Offline to run the app locally. (Note: add
.buildto.gitignore)SSM to read variables from our
.envFinch to deploy the static files to S3.
Using Express with Serverless
We also need to change our index.ts file to use aws-serverless-express.
exports.handler = (event: any, context: any) => {
bootstrap().then(() => {
const { app } = createApp();
const server = awsServerlessExpress.createServer(app);
awsServerlessExpress.proxy(server, event, context);
});
}Common problems
Error: Cannot find module './migrations'
Add import './migration.ts' to src/inddex.ts and create `migrations/index.ts`importing all migration files.
handler 'server' returned a promise and also uses a callback!
You can't use async with the main Serverless file. Use .then for the promises instead.
Last updated
Was this helpful?