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

NodeJS运行报SyntaxError: Unexpected token .错误如何修复?

报错原因

你遇到的是语法不兼容错误,代码中使用的?.是ES2020标准推出的可选链操作符,该语法仅在Node.js v14.0.0及更高版本中被原生支持。你当前运行项目的Node版本低于14,无法识别该语法,因此抛出Unexpected token .的语法错误。

修复方案
  • 方案1:升级Node.js版本(最推荐)
    直接将本地Node版本升级到v14.0.0及以上即可原生支持可选链语法,无需修改任何业务代码。推荐使用nvm管理多版本Node避免环境冲突,执行nvm install 16安装Node16长期支持版,切换版本后重新启动项目即可。
  • 方案2:手动替换可选链语法
    若暂时无法升级Node版本,可以把代码中的可选链写法替换为传统的层级校验逻辑,原判断语句:
    if(data.result && data.result.body && data.result.body?.aggregations["2"]?.buckets.length > 0)
    
    替换为:
    if(data.result && data.result.body && data.result.body.aggregations && data.result.body.aggregations["2"] && data.result.body.aggregations["2"].buckets && data.result.body.aggregations["2"].buckets.length > 0)
    
    项目中所有用到?.的位置都按该规则替换即可正常运行。
  • 方案3:配置Babel转译新语法
    若不想修改代码也不想升级Node版本,可以在项目中引入Babel,配置对应转译规则将ES2020+的新语法转译为当前Node版本可识别的语法后再运行项目。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.18 19:15:10