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
.build
to.gitignore
)SSM to read variables from our
.env
Finch 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?