我正在尝试制作两个 AWS Lambda 函数(用打字稿编写)。这两个函数共享用于与 API 交互的相同代码。为了不必将相同的代码复制到两个不同的 Lambda,我想将我的共享代码移动到本地模块,并使我的两个 Lambda 都依赖于该模块。
我最初尝试在两个 lambda 之间启动代码是使用 monorepo 和 lerna。我当前的项目结构如下所示:
- lerna.json
- package.json
- packages
- api
- package.json
- lambdas
- funcA
- package.json
- func B
- package.json
Run Code Online (Sandbox Code Playgroud)
lerna.json:
{
"packages": [
"packages/api",
"packages/lambdas/*"
],
"version": "1.0.0"
}
Run Code Online (Sandbox Code Playgroud)
在我的 Lambda 函数的每个 package.json 中,我能够包含我的本地 api 模块,如下所示:
"dependencies": {
"@local/api": "*"
}
Run Code Online (Sandbox Code Playgroud)
有了这个,我已经能够将公共代码移动到它自己的模块中。但是,我现在不确定如何捆绑我的函数以部署到 AWS Lambda。lerna 有没有办法创建一个可以部署的包?