我有一个CDK应用程序,是在typescript。我想要快速开发,所以我一直在使用cdk watch
。每当我进行更改时,就会部署cdk堆栈。这工作得很好,然而,应用程序在部署后不检测我的typescript lambda源代码,但它会在我构建typescript后检测javascript文件。在我的印象中,我不需要构建我的typescript文件来部署cdk应用程序。
const testLambda = new lambda.Function(this, 'TestLambda', {
runtime: lambda.Runtime.NODEJS_14_X,
handler: 'api/example/get.handler',
code: lambda.Code.fromAsset('src/')
});
当我击中API时,我得到错误Cannot find module get
,但如果我运行tsc
然后击中API,它将找到创建的get.js
文件。
我必须在每次部署前构建我的tsc文件吗?如果是这样,我如何检测typescript文件中的更改,构建它们,然后部署cdk堆栈?
添加Typescript编译命令到cdk.json
:
"build": "tsc",
cdk watch执行"build"从
cdk.json
命令,在合成之前构建您的应用程序。如果您的部署需要任何命令来构建或打包Lambda代码(或任何不在CDK应用程序中的其他代码),请在此处添加。