我试图在NodeJS应用程序中的一个路由中实现异步功能。它在localhost上运行时有效,但在部署到heroku时,在以下代码的第一行中抛出错误unexpected token (
:
router.post('/post', async(req,res) => {
const data = await getData();
//do stuff
})
我有点困惑为什么它在一个环境而不是另一个环境中工作。我缺少heroku配置吗?我是否需要在Heroku中明确添加对ES2016 / 2017的支持?
答案 0 :(得分:5)
如果您没有设置特定版本,Heroku默认使用Node的最新长期支持版本(截至编写时为v6.11.1)。
自v7.6起, async/await
已在Node中提供,因此您需要在package.json
中至少明确指定该版本,如下所示:https://devcenter.heroku.com/articles/nodejs-support#specifying-a-node-js-version
答案 1 :(得分:0)