Next.js应用启动报错:SyntaxError: Unexpected token '?' 求助
解决Next.js启动时
SyntaxError: Unexpected token '?'的问题 问题根源
你遇到的错误是因为Node.js v13.14.0不支持空值合并运算符(??),而Next.js v13.0.7的代码中使用了该语法,导致启动时解析失败。Next.js 13版本要求Node.js最低版本为14.6.0(或更高LTS版本)。
解决方法
升级Node.js版本(优先推荐)
- 卸载当前Node.js v13.14.0,安装Node.js 14.6.0及以上的LTS版本(推荐16.x或18.x LTS,兼容性更好)。
- 安装完成后,执行
node -v确认版本已更新。 - 重新运行
npx next start启动应用。
临时降级Next.js版本(不推荐)
如果暂时无法升级Node.js,可降级到不依赖??运算符的Next.js版本(如12.x系列),执行命令:npm install next@12.3.4注意:降级会丢失Next.js 13的新特性,后续维护成本更高,仅作为临时方案。
内容的提问来源于stack exchange,提问作者AmirabbasGhasemi
相关产品推荐
相关产品推荐

