基本的Alexa技能

Bar*_*y M 2 alexa-skills-kit

我已经下载了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:无法读取未定义的属性"application"

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

非常感谢.

Ron*_*sle 5

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

JavaScript将值"undefined"分配给您使用但尚未设置的任何变量.

您可以通过多种方式调试Lambda中的问题.也许最简单的方法是查看日志.去做这个:

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

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

请注意,时间戳将是GMT,因此可能与您的实际时间不匹配.如果您有多个条目,这可能会造成混淆.但分钟应该匹配,帮助您验证您正在查看正确的日志条目.

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

要设置它:

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

现在,每次将新代码上传到Lambda时,都可以选择"测试",然后运行刚刚保存的请求.

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