我正在尝试在this tutorial之后创建一个discord bot。但是,当我尝试使用npm run dev
部署机器人时,我得到了
my-bot@1.0.0 dev /mnt/c/Users/kkmin/Documents/src/ees
nodemon index.js
[nodemon] 1.19.4
[nodemon] to restart at any time, enter `rs`
[nodemon] watching dir(s): *.*
[nodemon] watching extensions: js,mjs,json
[nodemon] starting `node index.js`
/mnt/c/Users/kkmin/Documents/src/ees/node_modules/discord.js/src/client/Client.js:40
} catch {
^
SyntaxError: Unexpected token {
at createScript (vm.js:80:10)
at Object.runInThisContext (vm.js:139:10)
at Module._compile (module.js:616:28)
at Object.Module._extensions..js (module.js:663:10)
at Module.load (module.js:565:32)
at tryModuleLoad (module.js:505:12)
at Function.Module._load (module.js:497:3)
at Module.require (module.js:596:17)
at require (internal/module.js:11:18)
at Object.<anonymous> (/mnt/c/Users/kkmin/Documents/src/ees/node_modules/discord.js/src/index.js:8:11)
[nodemon] app crashed - waiting for file changes before starting...
我不确定这是怎么回事,对此我很陌生,请有人帮帮我。预先感谢!
答案 0 :(得分:2)
我认为您正在使用旧的Node.js版本。
可选的渔获绑定
try ...没有标识符的捕获称为“可选捕获绑定”, 它在ES2019中引入,并在Node.js> = 10.3.0(请参见node.green)上可用。
要使用该功能,请使用最新版本更新您的Node.js,请遵循How do I update Node.js?。
答案 1 :(得分:0)
您的Client.js文件中存在语法错误。您正在尝试执行try-catch块,但是实现不正确。 catch块采用一个参数,表示错误。请参阅https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/try...catch