以下の内容はhttps://www.kwbtblog.com/entry/2021/02/14/005227より取得しました。


AWS Amplify のLambda FunctionをTypeScriptで書く方法

AWS AmplifyでLambda Functionを追加すると、JavaScriptで雛形が生成されるので、それをTypeScriptにする方法メモです。

下記ドキュメントを参考にしました。

手順

Functionを追加すると、下記のフォルダが生成されるので、その中で作業します。

amplify/backend/function/[function_name]

TypeScriptプログラム

tsフォルダを作成して、そこにTypeScriptで書かれたプログラムを置く。

mkdir ts
touch ts/index.ts

tsconfig.json

tsconfig.jsonを作成する

{
    "compilerOptions": {
        "allowSyntheticDefaultImports": true,
        "lib": [
            "dom",
            "esnext"
        ],
        "module": "commonjs",
        "moduleResolution": "node",
        "skipLibCheck": true,
        "resolveJsonModule": true,
        "outDir": "./src",
        "baseUrl": "./",
        "rootDir": "./ts",
        "paths": {
            "src": [
                "./ts"
            ]
        }
    }
}

package.json

package.jsonを作成する(scriptsを抜粋)

{
  "scripts": {
    "build": "tsc && cp package.json src/ && cd src && rm -f package-lock.json && npm install --production && npm prune --production && rm -f package.json && rm -f package-lock.json"
  }
}

更新作業

ビルド

関数のフォルダで実行

npm run build

テスト

amplify mock function [function_name]

デプロイ

amplify push

補足説明

要は、srcフォルダにあるファイル・フォルダはLambdaにアップされるので、srcフォルダにDependenciesのモジュールのみをインストールしておきます。

ただ、srcフォルダにpackage.jsonがあると、mockやpushの際に、devDependenciesのモジュールもインストールされてしまうので、モジュールのインストールが終わったらpackage.jsonファイルは削除しておきます。

感想など

今までLambdaはServerless Frameworkを使って作成していたのですが、AWS Amplifyを使う時は、AWS Amplifyに寄せてしまおうと奮闘中です。

関連カテゴリー記事

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com




以上の内容はhttps://www.kwbtblog.com/entry/2021/02/14/005227より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14