使用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源代码,但现在这一步骤变得不再必要,这是一个让人高兴的小更新。
再见!!!

广告
将在 10 秒后关闭
bannerAds