【问题标题】: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 包造成的,我以为是他自己的代码。

标签: javascript node.js


【解决方案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

    【讨论】:

      猜你喜欢
      • 2021-11-20
      • 2021-11-23
      • 1970-01-01
      • 2019-01-30
      • 1970-01-01
      • 2011-11-21
      • 2017-08-05
      • 2021-03-31
      • 2019-04-20
      相关资源
      最近更新 更多