【发布时间】:2017-04-25 01:17:20
【问题描述】:
问题塑造
我使用 'alexa-sdk' 节点库创建了一个 Alexa 应用程序来构建 AWS lambda Alexa 应用程序。
const Alexa = require('alexa-sdk');
const handlers = { /* ... */ };
exports.handler = function(event, context) {
const alexa = Alexa.handler(event, context);
alexa.registerHandlers(handlers);
alexa.execute();
};
这段代码使用工作得很好,直到我再次上传,然后它就停止工作了!当我上传相同版本的代码时,我突然开始出现类型错误。没有更改任何代码。下面是我如何压缩 node 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 替换为我的 lambda 函数名称)来验证正确的压缩。
错误来自我在 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)
发生了什么事?
【问题讨论】:
标签: node.js amazon-web-services alexa