我正试图在我的lambda中间件上使用middy,我的堆栈是用TypeScrip和无服务器v3、Node.js v18创建的.
这里有一个最小的生殖例子:
tsconfig.json
:
{
"compilerOptions": {
"preserveConstEnums": true,
"strictNullChecks": true,
"sourceMap": true,
"allowJs": true,
"target": "es5",
"module": "CommonJS",
"outDir": ".build",
"moduleResolution": "node",
"esModuleInterop": false,
"lib": ["es2015"],
"rootDir": "./"
}
}
一百:
{
"main": "handler.js",
"dependencies": {
"@middy/core": "^4.7.0",
"lodash": "^4.17.21"
},
"devDependencies": {
"@types/lodash": "4.14.91",
"@types/node": "^11.13.0",
"serverless-offline": "^13.3.2",
"serverless-plugin-typescript": "^1.1.7",
"typescript": "^5.3.3"
}
}
serverless.yml
:
service: serverless-example
plugins:
- serverless-plugin-typescript
- serverless-offline
provider:
name: aws
runtime: nodejs18.x
functions:
hello:
handler: handler.handler
events:
- http:
path: hello
method: get
handler.ts
个
从‘@middy/core’导入Middy
Const myProtectedFunction=async(事件,上下文)=>;{
const userId = "123"
return {
statusCode: 200,
body: JSON.stringify({ message: `Hello, user ${userId}!` }),
};
};
导出常量处理程序=middy() .hander(MyProtectedFunction);
在安装无服务器依赖后,只需执行:无服务器离线
然后向端点发出请求