Discord.JS包内部抛出SyntaxError错误,出现意外token'??='该如何修复?
错误触发原因
??=为ES2021标准新增的逻辑空赋值运算符,仅Node.js v15.0.0及以上版本支持该语法。该报错并非Discord.JS模块本身的bug,核心原因是当前运行环境的Node.js版本过低,无法解析Discord.JS高版本中使用的新语法。
当前Discord.JS v14及以上版本的最低运行要求为Node.js 16.9.0,版本符合要求即可避免该语法错误。
修复方案
- 方案1(优先选择):升级Node.js版本
- 执行命令
node -v查看当前Node.js版本,确认版本低于16.9.0 - 安装Node.js最新LTS版本,安装完成后重新执行
node -v校验版本符合要求 - 进入项目目录重新执行
npm install安装依赖,再启动项目即可
- 执行命令
- 方案2(适配低版本Node环境):降级Discord.JS版本
若因其他项目依赖无法升级全局Node.js版本,可根据当前Node版本安装对应兼容的Discord.JS版本:- Node版本处于16.6.0 ~ 16.8.0区间:执行
npm install discord.js@13安装v13版本 - Node版本低于16.6.0:执行
npm install discord.js@12安装v12版本
注意:降级后Discord.JS存在API变动,需调整自有代码适配对应版本的接口规范。
- Node版本处于16.6.0 ~ 16.8.0区间:执行
内容的提问来源于stack exchange,提问作者AidanGamin
相关产品推荐
相关产品推荐

