You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS Lambda JS出现Unexpected Token {解析错误,请求排查帮助

排查JavaScript中Parsing Error: Unexpected Token {的思路(针对Alexa Skill场景)

兄弟,我懂这种盯着代码找半天找不到语法错误的痛苦!尤其是刚学JavaScript的时候,这种Parsing Error: Unexpected Token {的错误真的让人头大。结合你提到的和给出的Alexa SDK代码片段,我给你几个实用的排查思路:

  • 重点检查YesIntent的定义语法
    既然错误明确和YesIntent相关,那大概率是这个Intent的代码块出了问题。你可以重点核对:

    • 是不是在alexa.registerHandlers的对象字面量里,YesIntent的函数定义格式有误?比如有没有漏掉冒号、逗号,或者函数的大括号不匹配?
      举个正确的示例参考:
    alexa.registerHandlers({
      YesIntent() {
        this.response.speak("已确认你的选择!");
        this.emit(":responseReady");
      },
      HelloIntent() {
        this.response.speak("欢迎使用我的技能!");
        this.emit(":responseReady");
      }
      // 注意每个Intent之间的逗号,最后一个Intent后面不要加逗号
    });
    
    • 如果你用的是箭头函数定义Intent,要检查箭头函数的写法是否正确,比如YesIntent: () => { ... },这里的冒号和箭头都不能少。
  • 补全并检查截断的代码部分
    你提供的代码到alexa.appId...就中断了,这里很可能是问题所在:

    • 是不是漏写了赋值语句?比如alexa.appId = appId;有没有漏掉等号或者分号?
    • 后续的alexa.registerHandlers调用是否完整?有没有正确闭合所有大括号?最后有没有调用alexa.execute();来启动技能?
  • 借助工具快速定位错误位置
    手动检查大括号匹配容易眼花,你可以用这些工具辅助:

    • 直接把完整代码(记得去掉敏感的appId)粘贴到VS Code里,它会用红色波浪线标出错误位置;
    • 用浏览器的开发者工具控制台,把代码粘贴进去运行,控制台会精准提示错误的行号和原因;
    • 用在线的ESLint检查工具,快速扫描语法问题。
  • 排查拼写和符号细节
    新手很容易忽略这些小细节:

    • 有没有把YesIntent的大小写写错?比如写成yesIntent,虽然这更多会触发Reference Error,但如果是在对象键名里的错误搭配,也可能引发语法错误;
    • 检查Intent之间的逗号:对象字面量里,每个键值对后面需要加逗号,但最后一个键值对后面不能加逗号,多写或少写都会触发语法错误。
  • 检查语法兼容性
    如果你混用了ES6+的语法(比如箭头函数、简写函数),但你的Node.js版本过低不支持,也可能触发这类错误。你可以查看Alexa SDK要求的Node.js版本,确保环境符合要求。

按照这几个步骤一步步排查,应该能快速定位到问题。刚学JavaScript的时候遇到这种问题很正常,多排查几次就会慢慢培养出对语法细节的敏感度啦!

内容的提问来源于stack exchange,提问作者Teckrio

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 02:33:34