[解決済み] AWS Lambdaのエラーです。"Cannot find module '/var/task/index'" と表示されました。
2023-03-14 10:16:11
質問
Node.js Alexa タスクの問題
現在、AWS Lambda経由でNode.jsのAlexaタスクをコーディングしていますが、OpenWeather APIから情報を受け取り、それをパースして
weather
. 該当のコードは以下の通りです。
var request = require('request');
var weather = "";
function isBadWeather(location) {
var endpoint = "http://api.openweathermap.org/data/2.5/weather?q=" + location + "&APPID=205283d9c9211b776d3580d5de5d6338";
var body = "";
request(endpoint, function (error, response, body) {
if (!error && response.statusCode == 200) {
body = JSON.parse(body);
weather = body.weather[0].id;
}
});
}
function testWeather()
{
setTimeout(function() {
if (weather >= 200 && weather < 800)
weather = true;
else
weather = false;
console.log(weather);
generateResponse(buildSpeechletResponse(weather, true), {});
}, 500);
}
このスニペットをCloud9や他のIDEで数え切れないほど実行しましたが、完璧に動作しているように見えます。しかし、これをzipでパッケージ化してAWS Lambdaにアップロードすると、以下のエラーが発生します。
{
"errorMessage": "Cannot find module '/var/task/index'",
"errorType": "Error",
"stackTrace": [
"Function.Module._load (module.js:276:25)",
"Module.require (module.js:353:17)",
"require (internal/module.js:12:17)"
]
}
module-js、request、その他多くのNodeモジュールをインストールし、このコードを実行できるようにしましたが、この問題を解決するものは何もないようです。念のため、私のディレクトリを示します。
- planyr.zip
- index.js
- node_modules
- package.json
どなたか、この問題が何であるかご存知ですか?
どのように解決するのですか?
修正しました! 私の問題は、Finder で Mac の内蔵圧縮機能を使ってファイルを圧縮しようとしたことでした。
もしあなたが私のような Mac ユーザーなら、プロジェクトのルート ディレクトリ (あなたの index.js
,
node_modules
などのファイル)。
zip -r ../yourfilename.zip *
Windowsの場合。
Compress-Archive -LiteralPath node_modules, index.js -DestinationPath yourfilename.zip
関連
-
[解決済み] ReferenceError: describe は定義されていません NodeJs
-
[解決済み] Node.jsで "Cannot find module "エラーを解決するにはどうしたらいいですか?
-
[解決済み] コールバック地獄とは何か、RXはそれをどのように、そしてなぜ解決するのか?
-
[解決済み] react-routerのハッシュフラグメントからクエリパラメータを取得する
-
[解決済み] Chromeの拡張機能開発にWebStormを使用するにはどうすればよいですか?
-
[解決済み] モデルフェッチ時に1をtrueに、0をfalseに変換する方法
-
[解決済み] JSHintの'+'前の改行不良の説明
-
[解決済み] JavaScriptで長い配列を小さい配列に分割する方法
-
[解決済み] Prototypeを使ってtextareaを自動サイズ調整するには?
-
[解決済み] これは純関数ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] AWS Lambdaでnpmモジュールを読み込むには?
-
[解決済み] Javascript 空の配列の削減
-
[解決済み] ECMAScriptとは?
-
[解決済み] 各オブジェクトに?重複
-
[解決済み] Promise : then vs then + catch [重複].
-
[解決済み] 文字列とラベルのローカライズとグローバリゼーションのベストプラクティス【終了しました
-
[解決済み] Node.jsのES6クラスをrequireで作る
-
[解決済み] JavaScript で `throw` の後に `return` をする必要がありますか?
-
[解決済み] V8 Javascript エンジンのスタンドアロン実行
-
[解決済み] JavaScriptでDIVを表示・非表示にするには?