discord.js开发Discord机器人repl.it运行报错VS Code正常原因求解
问题原因
报错是因为你使用的discord.js版本依赖高版本ECMAScript语法特性,报错中出现的??是空值合并运算符,是Node.js 14.0.0版本才正式加入的语法。
- 你本地VS Code环境的Node.js版本满足discord.js的最低要求,因此可以正常运行
- repl.it平台默认使用的Node.js版本过低,无法识别该运算符,因此抛出语法错误
解决方案
你可以通过以下两种方法解决该问题:
- 方法一:调整repl.it的Node.js运行版本
在项目根目录下创建名为.replit的配置文件,写入以下内容指定使用16.x版本的Node.js运行代码:
run = "nvm use 16 && node index.js"
也可以直接在repl.it的项目设置界面手动将运行环境的Node.js版本切换为16.9.0以上的LTS版本(discord.js v14要求最低Node.js版本为16.9.0)。
- 方法二:降级discord.js到兼容低版本Node的版本
如果你不想调整运行环境,可以将discord.js降级到v12版本,该版本不需要高版本Node.js支持,执行以下安装命令即可:npm install discord.js@12
内容的提问来源于stack exchange,提问作者Servaloop
相关产品推荐
相关产品推荐

