vue+koa项目启动报:SyntaxError: Unexpected token ...

这个是一个用vue+koa搭建的前端项目。本地启动是没有问题,每次在服务器用pm2启动时,就会报错,报错信息如下:

SyntaxError: Unexpected token ...
    at createScript (vm.js:53:10)
    at Object.runInThisContext (vm.js:95:10)
    at Module._compile (module.js:543:28)
    at Object.Module._extensions..js (module.js:580:10)
    at Module.load (/app/h5/node_modules/coffee-script/lib/coffee-script/register.js:45:36)
    at tryModuleLoad (module.js:447:12)
    at Function.Module._load (module.js:439:3)
    at Module.require (module.js:498:17)
    at require (internal/module.js:20:19)
    at fs.readdirSync.forEach.route (/app/h5/server/app.js:80:12)
    at Array.forEach (native)
    at Object.<anonymous> (/app/h5/server/app.js:79:49)
    at Module._compile (module.js:571:32)
    at Object.Module._extensions..js (module.js:580:10)
    at Module.load (module.js:488:32)
    at tryModuleLoad (module.js:447:12)
    at Function.Module._load (module.js:439:3)
    at Object.<anonymous> (/app/node-v7.7.1-linux-x64/lib/node_modules/pm2/lib/ProcessContainerFork.js:53:21)
    at Module._compile (module.js:571:32)
    at Object.Module._extensions..js (module.js:580:10)
    at Module.load (module.js:488:32)
    at tryModuleLoad (module.js:447:12)
    at Function.Module._load (module.js:439:3)
    at Module.runMain (module.js:605:10)
    at run (bootstrap_node.js:425:7)
    at startup (bootstrap_node.js:146:9)
    at bootstrap_node.js:540:3

报错的位置的代码如下:

    router.post('/add', async ctx=> {
        let data = ctx.request.body
        let author = ctx.state.user._id;
        ctx.body = await Page.create({
            ...data,
            author: author,
            _id: mongoose.mongo.ObjectId()
        })
    })

我认为是扩展运算符...的问题,于是我运行了

npm install es6-promisify
npm install es6-promise

在执行发现还是一样,各位老哥有设么解决办法么?

https://blog.csdn.net/weixin_33739627/article/details/89615932

如果用了bodyParser, 请把app.use(bodyParser) 改成 app.use(bodyParser())

你 node 版本太低, 不支持 spread operator (...) 。你安装 es6-promise 是一个包, 你不引用它, 它不会有任何作用。当然,即使你引用它, 它也不提供运算符。