質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
AWS Lambda

AWS Lambdaは、クラウド上でアプリを実行できるコンピューティングサービス。サーバーのプロビジョニングや管理を要せず複数のイベントに対してコードを実行します。カスタムロジック用いた他AWSサービスの拡張やAWSの規模やパフォーマンスを用いたバックエンドサービスを作成できます。

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

Q&A

0回答

1173閲覧

VSCode:lambda(aws-sam/nodejs):ローカルデバッグで自作ライブラリが読み込めない

workinguser-ai

総合スコア0

AWS Lambda

AWS Lambdaは、クラウド上でアプリを実行できるコンピューティングサービス。サーバーのプロビジョニングや管理を要せず複数のイベントに対してコードを実行します。カスタムロジック用いた他AWSサービスの拡張やAWSの規模やパフォーマンスを用いたバックエンドサービスを作成できます。

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

0グッド

0クリップ

投稿2020/10/22 09:04

困っていること

VSCodeでlambda上で動くnodejsモジュールを作成しているのですが、
VSCode上でローカルデバッグする際、自作ライブラリのパスが通りません。
(実際にlambdaにデプロイすると、問題なく実行できます)

設定内容

ディレクトリ構造

ProjectDir |- .vscode | |- launch.json |- FunctionDir |- dist |- index.js  ← 実行モジュール |- utillib | |- hoge.js  ← 実行モジュールから読み込むモジュール |- otherlib | |- other_hoge.js

実行モジュールの記述

index.js

1require("utillib/hoge") ← ローカルデバッグすると、Runtime.ImportModuleError に

launch.jsonの記述

launch.json

1{ 2 "configurations": [ 3 { 4 "type": "aws-sam", 5 "request": "direct-invoke", 6 "name": "ProjectName:dist/index.handler (nodejs12.x)", 7 "invokeTarget": { 8 "target": "code", 9 "projectRoot": "FunctionDir", 10 "lambdaHandler": "dist/index.handler" 11 }, 12 "lambda": { 13 "runtime": "nodejs12.x", 14 "payload": {}, 15 "environmentVariables": {} 16 } 17 }, 18 ] 19}

試したこと

  • requireの記述を、ファイルからのパス指定に変更

→ require("./utillib/hoge")
→ 問題は解決するが、ライブラリから他ライブラリをrequireする際、相対パスを記述したくないので、避けたい。(utlilib/hoge.js から otherlib/hoge.jsを読み込むようなことが有り得る為)

  • launch.json で環境変数(NODE_PATH)の設定を試行

→ type:"aws-sam" では、"env" "envFile"とも設定が弾かれ、環境変数を設定できず・・・。

補足情報(FW/ツールのバージョンなど)

  • distディレクトリにモジュールを格納しているのは、typescriptでコンパイルを実行している為です。

 問題がややこしくなるので、記載を省略しています。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問