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

升级Next.js应用至React 18时遭遇Unexpected token语法错误

解决Next.js升级React18后build时的SyntaxError: Unexpected token '?'错误

错误原因

这个错误是因为你当前使用的Node.js版本不支持空值合并运算符(??)。适配React18的Next.js版本(通常为v12及以上)要求Node.js版本至少为14.6.0,而你的Node版本低于该要求,导致无法解析pageKeys.app ?? []这类语法。

解决方案

  1. 检查当前Node.js版本
    执行命令查看当前版本:

    node -v
    

    确认版本是否≥14.6.0,若低于则需要升级。

  2. 升级Node.js版本

    • 若使用nvm(Node版本管理器),可直接安装并切换到稳定版:
      nvm install 18  # 安装18.x稳定版,也可选择更高的稳定版本
      nvm use 18
      
    • 未使用版本管理器的话,直接下载对应系统的Node.js最新稳定版安装包覆盖安装即可。
  3. 验证并重新构建
    再次执行node -v确认版本符合要求后,重新运行构建命令:

    npm run build
    

额外排查步骤(若升级后仍有问题)

  • 删除项目根目录下的node_modules文件夹和package-lock.json文件
  • 重新执行npm install安装依赖
  • 再次尝试npm run build

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 14:20:23