node.js - Express with Serverless 的目的
问题描述
背景:我最近开始尝试无服务器框架并尝试使用 Express 制作一些示例应用程序,这引发了这个问题。我一直主要使用无服务器将单个函数部署到 AWS Lambda。
目标:我正在尝试在 Node.js 和 TypeScript 中编写一个后端 API(我过去只使用 Express)。
问题:如果我可以单独定义每个函数并在serverless.yml
文件中指定它,我不明白将 Express 与 Serverless 一起使用的目的、优点和缺点是什么。与无服务器相比,将 Express 与无服务器结合使用是否具有优势?我在网上搜索并看到有将 Express API 转换为无服务器的示例(https://www.serverless.com/blog/serverless-express-rest-api#converting-an-existing-express-application),但由于我正在开始一个新项目,它似乎不适用于我。
快递示例:
// index.js
app.get('/user/{id}', callbackFunction1)
app.post('/users', callbackFunction2)
app.delete('/user/{id}', callbackFunction3)
无服务器示例:
// users.js
module.exports.createUser = async (event, context, callback) => {
// Create a user
}
// serverless.yml
functions:
createUser:
handler: users.createUser
events:
- httpApi:
method: GET
path: /createUser