問題整形如何在使用alexa-sdk節點庫時使Alexa Lambda FN不會拋出類型錯誤?
我創建使用'alexa-sdk'
節點庫來構建一個AWS拉姆達Alexa的應用程序的應用程序Alexa的。
const Alexa = require('alexa-sdk');
const handlers = { /* ... */ };
exports.handler = function(event, context) {
const alexa = Alexa.handler(event, context);
alexa.registerHandlers(handlers);
alexa.execute();
};
此代碼用於工作得很好,直到我再次上傳,那麼它停止工作!當我上傳相同版本的代碼時,我突然開始出現Type錯誤。沒有代碼被改變。以下是我如何壓縮節點lambda應用程序,以供以後的AWS上傳。
"dependencies": {
"alexa-sdk": "^1.0.9"
},
"scripts": {
"zip": "zip -r function.zip package.json *.js node_modules && mkdir -p ../dist && mv function.zip ../dist"
}
您可以驗證通過運行zipinfo ../dist/${lambdaName}
(我的拉姆達的功能名稱替換lambdaName
)正確的壓縮和解。
這個錯誤來自於我在Alexa Lambda上測試這個時,它帶有一個默認的測試文件。
錯誤轉儲:
TypeError: Cannot read property 'request' of undefined
at AlexaRequestEmitter.ValidateRequest (/var/task/node_modules/alexa-sdk/lib/alexa.js:135:36)
at AlexaRequestEmitter.HandleLambdaEvent (/var/task/node_modules/alexa-sdk/lib/alexa.js:117:25)
at AlexaRequestEmitter.value (/var/task/node_modules/alexa-sdk/lib/alexa.js:92:31)
at exports.handler (/var/task/AgrihackGardenFn.js:78:9)
這是怎麼回事?