使用AWSCDK将Lambda(Nodejs)以TypeScript的形式部署
首先
当在使用TypeScript编写Node.js Lambda时,使用AWSCDK时,在部署之前不再需要将其构建为JavaScript文件。我将介绍一种无需进行构建的方法。
使用的软件包
AWS CDK v1.23.0 发布了一个名为 @aws-cdk/aws-lambda-nodejs 的包。使用该包可以无需构建TS即可进行部署。
在实际上做什么方面,它在部署之前会使用Parcel在内部进行构建。请查看这里获取更多详情。
范本
import cdk = require("@aws-cdk/core")
import { NodejsFunction } from "@aws-cdk/aws-lambda-nodejs"
export class NodejsFunctionStack extends cdk.Stack {
constructor(scope: cdk.App, id: string, props?: cdk.StackProps) {
super(scope, id, props)
new NodejsFunction(this, "NodejsFunction", {
entry: "lambdaSources/demo_function/index.ts",
handler: "handler",
minify: true
})
}
}
在 NodejsFunction 的入口中指定了 TS 文件。
当进行部署时,会生成名为 .build 的目录,并将编译后的源代码放在其中。
最后
写Lambda函数时,以前需要在部署之前构建TypeScript源代码,但现在这一步骤变得不再必要,这是一个让人高兴的小更新。
再见!!!