SyntaxError:意外的令牌'?'在 repl.it 中,因为我更新到 discord.js V13

Posted

技术标签:

【中文标题】SyntaxError:意外的令牌\'?\'在 repl.it 中,因为我更新到 discord.js V13【英文标题】:SyntaxError: Unexpected token '?' in repl.it since I updated to discord.js V13SyntaxError:意外的令牌'?'在 repl.it 中,因为我更新到 discord.js V13 【发布时间】:2021-10-14 21:34:27 【问题描述】:

我刚刚开始将我的 discord 机器人更改为 discord.js V13,由于所有更改都已完成,我无法弄清楚为什么此错误不断出现。

/home/runner/Discordjs-V13/node_modules/discord.js/src/rest/RESTManager.js:32
    const token = this.client.token ?? this.client.accessToken;
                                     ^

SyntaxError: Unexpected token '?'

【问题讨论】:

“v13 需要使用 Node 16.6 或更高版本,因此请确保您是最新的。” — discordjs.guide/additional-info/… 替换为:const token = this.client.token || this.client.accessToken; @Abd 我认为 OP 不会想要编辑 3rd 方库的源代码,这可能也不会是唯一引发错误的地方。 @deceze 对不起,我的错,没有意识到错误是由 node_module 包造成的,我以为是他自己的代码。 这能回答你的问题吗? How to solve error "SyntaxError: Unexpected token '?'" 【参考方案1】:

嗯,那是因为 REPLit 没有更新 NodeJS 版本做一件事 转到您的 shell 并粘贴此内容并按 Enter 键

npm i --save-dev node@16 && npm config set prefix=$(pwd)/node_modules/node && export PATH=$(pwd)/node_modules/node/bin:$PATH

并将pacakge.json中的启动脚本改为npm start

然后轰隆隆!你有最新的节点!

【讨论】:

【参考方案2】:

'??' 运算符node v14 版本中的新功能,对于 Discord.js V13,您需要当前版本的 node.js,但这里他们解释了如何更改您的 node.js repl.it 中的版本,试试它是否适用于你:)

https://replit.com/talk/learn/Nodejs-14-on-replit/85501

【讨论】:

以上是关于SyntaxError:意外的令牌'?'在 repl.it 中,因为我更新到 discord.js V13的主要内容,如果未能解决你的问题,请参考以下文章

SyntaxError:意外的令牌不断弹出[重复]

“SyntaxError:意外的令牌 < 在 JSON 中的位置 0”

SyntaxError:在 Heroku 上托管 Discord 机器人时出现意外的令牌 '??='

打字稿:SyntaxError:意外的令牌“导出”

未捕获的 SyntaxError:新行的无效或意外令牌

ExpressJS SyntaxError:意外的令牌 C