選取您的 Cookie 偏好設定

我們使用提供自身網站和服務所需的基本 Cookie 和類似工具。我們使用效能 Cookie 收集匿名統計資料,以便了解客戶如何使用我們的網站並進行改進。基本 Cookie 無法停用,但可以按一下「自訂」或「拒絕」以拒絕效能 Cookie。

如果您同意,AWS 與經核准的第三方也會使用 Cookie 提供實用的網站功能、記住您的偏好設定,並顯示相關內容,包括相關廣告。若要接受或拒絕所有非必要 Cookie,請按一下「接受」或「拒絕」。若要進行更詳細的選擇,請按一下「自訂」。

使用 TypeScript 建置 Lambda 函數

焦點模式
使用 TypeScript 建置 Lambda 函數 - AWS Lambda

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

您可以使用 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

nodejs22.x

Amazon Linux 2023

2027 年 4 月 30 日

2027 年 6 月 1 日

2027 年 7 月 1 日

Node.js 20

nodejs20.x

Amazon Linux 2023

2026 年 4 月 30 日

2026 年 6 月 1 日

2026 年 7 月 1 日

Node.js 18

nodejs18.x

Amazon Linux 2

2025 年 9 月 1 日

2025 年 10 月 1 日

2025 年 11 月 1 日

設定 TypeScript 開發環境

使用本機整合開發環境 (IDE) 或文字編輯器來撰寫 TypeScript 函數程式碼。無法在 Lambda 主控台上建立 TypeScript 程式碼。

您可以使用 esbuild 或 Microsoft 的 TypeScript 編譯器 (tsc) 將 TypeScript 程式碼轉傳到 JavaScript。AWS Serverless Application Model (AWS SAM)AWS Cloud Development Kit (AWS CDK)都使用 esbuild。

使用 esbuild 時,請考慮下列事項︰

  • 存在若干 TypeScript caveats

  • 您必須設定 TypeScript 轉換設定,以便與您計劃使用的 Node.js 執行期相符。如需詳細資訊,請參閱 esbuild 文件中的目標。如需 tsconfig.json 檔案的範例,該檔案示範了如何以 Lambda 支援的特定 Node.js 版本為目標,請參閱 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"] }

Lambda 的類型定義

@types/aws-lambda 套件提供 Lambda 函數的類型定義。當您的函數使用下列任何項目時,請安裝此套件:

若要將 Lambda 類型定義新增至函數,請安裝 @types/aws-lambda做為開發相依性:

npm install -D @types/aws-lambda

然後,從 匯入類型aws-lambda

import { Context, S3Event, APIGatewayProxyEvent } from 'aws-lambda'; export const handler = async (event: S3Event, context: Context) => { // Function code };

import ... from 'aws-lambda' 陳述式會匯入類型定義。它不會匯入 aws-lambda npm 套件,這是不相關的第三方工具。如需詳細資訊,請參閱 DefinitelyTyped GitHub 儲存庫中的 aws-lambda

注意

使用您自己的自訂類型定義時,您不需要 @types/aws-lambda。如需定義其事件物件類型的範例 函數,請參閱 TypeScript Lambda 函數程式碼範例

下一個主題:

處理常式

上一個主題:

追蹤
隱私權網站條款Cookie 偏好設定
© 2025, Amazon Web Services, Inc.或其附屬公司。保留所有權利。