つのエラーがある:はアレクサSDKを使用して - "にErrorMessage": "モジュール」./dist/commonjs/index.js'を見つけることができません"、
"errorMessage": "Cannot find module './dist/commonjs/index.js'",
他のエラーは、次のとおりです。
Unable to import module 'index': Error
at Function.Module._resolveFilename (module.js:469:15)
私は2番目のエラーで他の投稿を見たことがありますが、私は彼らが推薦し、依然として固執したすべてを行った。また、/dist/commonjs/index.jsの問題については言及していません。
私のラムダファンクションハンドラは "index.handler"に設定され、メインコードはindex.jsにあります。
私はWindowsです。私のzipファイル(HebrewVocab.zip)はこのように見えます。 そしてnode_modulesフォルダの完全であると思われると次のようになります。私はzip形式で圧縮して、私が書いたのPowerShellでアップロード :
Compress-Archive -Path index.js,package.json,node_modules -DestinationPath $ZipFileName
aws lambda update-function-code --function-name HebrewVocab --zip-file
fileb://HebrewVocab.zip
マイindex.jsは、このコードで始まる:
exports.handler = function(event, context, callback) {
var alexa = Alexa.handler(event, context, callback);
alexa.registerHandlers(handlers);
alexa.execute();
};
私は、同様のエラーの他のすべての記事で読んだすべての要件を満たしているようです。以前はHelloWorldプロジェクトを手に入れましたが、alexa-sdkは使用しませんでした。
また、Stackoverflowの一人として「npm install npm」を提案しましたか?それは必要ですか?
テストするアレクサ声を使用することと比較してIラムダで「テスト」は、私は詳細を参照してください。
"errorMessage": "Cannot find module './dist/commonjs/index.js'",
は、標準のパス接頭辞こと./dist/commonjsべきでしょうか?私はハードドライブ(.zipとして)に "関数"をエクスポートしていて、それはまさに私がアップロードしたものです。そして、確かに.zipファイルのルートにindex.jsがあります。
私はcommonjsがパッケージであることを発見したので、 "npm install commonjs --save"を実行し、再圧縮して再アップロードしましたが、同じ結果が得られました。
後で/ node_modules/i18next/dist/commonjsにindex.jsが含まれていますが、それが関連しているかどうかはわかりません。私はそのdist/commonjsをrootとnode_modulesにコピーしようとしましたが、それと同じエラーです。
lambda-local -l index.js -h handler -e eventHelloWorld.json
にErrorMessageのスクリーンショット:私はローカルで実行したとき
そして最後にではなく、少なくとも、私のpackage.jsonは次のようになります。
{
"name": "HebrewVocab",
"version": "1.0.0",
"description": "",
"main": "index.js",
"dependencies": {
"alexa-sdk": "^1.0.18",
"commonjs": "0.0.1",
"npm": "^5.5.1"
},
"devDependencies": {},
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC"
}
これ以外に何ができますか?私はAmazonのサポートフォーラムに投稿しましたが、答えはありません。私のプロジェクトは、これを理解するまで立ち往生しています。
アップデート2017年11月7日:
さて、私はちょうど1つの狂気の観察を行いました。 。上記のPowershellによって作成されたzipは、Windowsの右クリック「圧縮ファイル」フォルダとは異なるサイズの.zipを作成します。 Total Command "Synchronize Directories"を使用して2つのジップを比較すると、すべてのファイルと構造の内容が同じになります。しかし、手動Windows zipから作成されたものと、Powershellによって作成されたものが、このスレッドで最初に報告されたエラーを示しています。 Powershellによって作成されたものは、5,019,123対5,032,770とやや小さいです。私は他のpowershell圧縮オプションをいくつか試しましたが、はるかに大きなファイルを作成しました(これをオフにすると約30 MBのファイルが生成されました)。
私は夕暮れゾーンに入りました - 何か考えましたか?