我正在尝试使用节点server.js运行我的项目,并且出现以下错误。
/Library/WebServer/Documents/PROJECT/node_modules/express-validator/lib/express_validator.js:75
chain[name] = (...options) => {
^^^
SyntaxError: Unexpected token ...
at exports.runInThisContext (vm.js:53:16)
at Module._compile (module.js:373:25)
at Object.Module._extensions..js (module.js:416:10)
at Module.load (module.js:343:32)
at Function.Module._load (module.js:300:12)
at Module.require (module.js:353:17)
at require (internal/module.js:12:17)
at Object.<anonymous> (/Library/WebServer/Documents/PROJECT/node_modules/express-validator/index.js:1:80)
at Module._compile (module.js:409:26)
at Object.Module._extensions..js (module.js:416:10)
我正在使用Express.js框架。上次我进行此工作时效果很好。
答案 0 :(得分:0)
经过大量搜索,我终于发现,对于我的一个使用旧版本nodejs构建的项目,我正在使用node@4.4.7
,并在本地计算机上使用以下命令更改了节点版本:
nvm ls // to check out what versions of Node.js are installed on your machine
-> v4.4.7
v8.9.1
system
default -> 4.4.7 (-> v4.4.7)
要将Node.js从node@4.4.7
切换到node@8.9.1
,我使用了以下命令:
nvm use v8.9.1
要验证,我再次使用nvm ls
进行检查,现在显示出来。
v4.4.7
-> v8.9.1
system
default -> 4.4.7 (-> v4.4.7)
答案 1 :(得分:0)
是的,ES6中可用的散布运算符将从节点8的版本8及更高版本开始可用。