如何使用@ aws-cdk / pipelines模块构造打包依赖项?出现错误TS2307

时间:2020-08-14 19:34:54

标签: aws-lambda aws-cdk

我一直在尝试使用新的AWS CDK管道构造(https://docs.aws.amazon.com/cdk/api/latest/docs/pipelines-readme.html),并成功设置了两个项目,包括关注https://aws.amazon.com/blogs/developer/cdk-pipelines-continuous-delivery-for-aws-cdk-applications/博客文章的发布。

但是,一旦我尝试向我的lambda添加依赖项,构建就会失败并显示

lib/lambda/handler.ts(2,24): error TS2307: Cannot find module 'stripe' or its corresponding type declarations.

我已经在带有lambda的目录中安装了package.json文件和node_modules,尝试将lambda和node_modules压缩,尝试通过控制台上传zip文件,并尝试在“ synthAction”步骤中获取“ buildCommand”安装依赖项。什么都行不通。

该资产似乎已在cdk.out目录中创建,并且正在上载代码更改,但是node_modules本身从未与lambda函数一起打包。

我正在使用“ SimpleSynthAction.standardNpmSynth”操作,以及“ buildCommand”步骤中的“ npm run build”命令。

我没有碰运气就看着Lambda can't find modules from outer folders when deployed with CDKHow to install dependencies of lambda functions upon cdk build with AWS CDKhttps://github.com/aws-samples/aws-cdk-examples/issues/110#issuecomment-550506116

我想念什么?

1 个答案:

答案 0 :(得分:1)

看起来问题与捆绑有关。我放弃了“ CDK的全能方法”,转而使用SAM / CDK混合,但是这篇新博客文章建议捆绑是答案。

https://aws.amazon.com/blogs/devops/building-apps-with-aws-cdk/

具体地说,它引用了此构造,在我的情况下可能会有所帮助:https://docs.aws.amazon.com/cdk/api/latest/docs/aws-lambda-nodejs-readme.html

将来可以尝试的东西。