你可以使用 Node.js 运行时在 AWS Lambda 中运行 TypeScript 代码。由于 Node.js 不会在本机运行 TypeScript 代码,因此必须首先将 TypeScript 代码转换为 JavaScript。然后,可以使用 JavaScript 文件将您的函数代码部署到 Lambda。您的代码将在包含适用于 JavaScript 的 AWS SDK 的环境中运行,其中包含来自您管理的 AWS Identity and Access Management (IAM) 角色的凭证。要了解有关 Node.js 运行时随附的 SDK 版本的更多信息,请参阅 包含运行时的 SDK 版本。
Lambda 支持以下 Node.js 运行时。
名称 | 标识符 | 操作系统 | 弃用日期 | 阻止函数创建 | 阻止函数更新 |
---|---|---|---|---|---|
Node.js 22 |
|
Amazon Linux 2023 |
2027 年 4 月 30 日 |
2027 年 6 月 1 日 |
2027 年 7 月 1 日 |
Node.js 20 |
|
Amazon Linux 2023 |
2026 年 4 月 30 日 |
2026 年 6 月 1 日 |
2026 年 7 月 1 日 |
Node.js 18 |
|
Amazon Linux 2 |
2025 年 9 月 1 日 |
2025 年 10 月 1 日 |
2025 年 11 月 1 日 |
主题
设置 TypeScript 开发环境
您可以使用本地集成开发环境 (IDE)、文本编辑器或 AWS Cloud9 来编写 TypeScript 函数代码。您无法在 Lambda 控制台上创建 TypeScript 代码。
要转换您的 TypeScript 代码,请设置一个编译器,例如 esbuildtsc
),后者与 TypeScript 分发版
在使用 esbuild 时,请注意以下事项:
-
有几个 TypeScript 注意事项
。 -
您必须配置 TypeScript 转换设置,以匹配您计划使用的 Node.js 运行时。有关更多信息,请参阅 esbuild 文档中的目标
。有关演示如何将 Lambda 支持的特定 Node.js 版本设为目标的 tsconfig.json 文件示例,请参阅 TypeScript GitHub 存储库 。 -
esbuild 不执行类型检查。要检查类型,请使用
tsc
编译器。运行tsc -noEmit
或将"noEmit"
参数添加到您的 tsconfig.json 文件,如以下示例中所示。这会将tsc
配置为不发出 JavaScript 文件。在检查类型后,使用 esbuild 将 TypeScript 文件转换为 JavaScript。
例 tsconfig.json
{
"compilerOptions": {
"target": "es2020",
"strict": true,
"preserveConstEnums": true,
"noEmit": true,
"sourceMap": false,
"module":"commonjs",
"moduleResolution":"node",
"esModuleInterop": true,
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true,
"isolatedModules": true,
},
"exclude": ["node_modules", "**/*.test.ts"]
}