2

我已经下载了 Alexa Skills 在线教程,位于:

https://github.com/amzn/alexa-skills-kit-js/blob/master/samples/reindeerGames/src/index.js

并遵循(我认为)本教程中的所有说明:

https://developer.amazon.com/public/community/post/TxDJWS16KUPVKO/New-Alexa-Skills-Kit-Template-Build-a-Trivia-Skill-in-under-an-Hour

这是为首次 Alexa Skills 开发人员提供的教程。我的问题是,一旦我点击“保存并测试”按钮,我就会收到此错误消息:

errorMessage”:“异常:TypeError:无法读取未定义的属性‘应用程序’”

有谁知道上述错误是什么意思或如何摆脱它?

非常感谢。

4

1 回答 1

5

这看起来像一个 javascript 错误,告诉您您正在尝试在未定义的变量上使用名为 application 的属性。

JavaScript 将值“未定义”分配给您使用但尚未设置的任何变量。

有几种方法可以调试 Lambda 中的问题。也许最简单的方法是查看日志。去做这个:

  1. 转到 Lambda 控制台(将代码上传到 Lambda)
  2. 选择监控选项卡
  3. 选择“在 CloudWatch 中查看日志”(在右上角)

查看最新日志,查找您的一个文件(通常是 index.js)中报告的错误,特别是行号。这应该可以帮助您找到错误。

请注意,时间戳将为 GMT,因此可能与您的实际时间不符。如果您有多个条目,这可能会令人困惑。但分钟应该匹配,帮助您验证您正在查看正确的日志条目。

调试 Lambda 问题的更高级、更快捷的方法是包含“测试”请求,并在每次将代码上传到 Lambda 时运行此请求。

要进行此设置:

  1. 在“服务模拟器”部分下的 ASK 测试页面中运行您定义的话语之一。
  2. 复制“Lambda 请求”部分中显示的代码下方。
  3. 现在切换到您的 Lambda 函数的 Lambda 控制台
  4. 单击“操作”按钮中的向下箭头,然后选择“配置测试事件”
  5. 将您在上面复制的请求粘贴到文本字段中
  6. 单击保存并测试。

现在,每次您将新代码上传到 Lambda 时,您都可以选择“测试”,然后您刚刚保存的请求就会运行。

最重要的是,控制台日志将显示在右下角,让您不必切换到日志并刷新以查看它们。

于 2016-05-07T11:58:39.077 回答