我正在尝试在 NodeJS 应用程序中的一条路由中实现异步功能。当我在本地主机上运行它时它可以工作,但是当部署到 heroku 时,以下代码的第一行会抛出错误unexpected token (
:
router.post('/post', async(req,res) => {
const data = await getData();
//do stuff
})
我有点困惑为什么这在一个环境中有效,而在另一个环境中不起作用。我缺少英雄配置吗?我是否需要在 Heroku 中显式添加对 ES2016/2017 的支持?
如果您未设置特定版本,Heroku 默认为 Node 的最新长期支持版本(截至撰写本文时为 v6.11.1(。
async/await
自 v7.6 起已在 Node 中可用,因此您需要在package.json
中至少明确指定该版本,如下所述:https://devcenter.heroku.com/articles/nodejs-support#specifying-a-node-js-version
你可以参考这个链接
Es6_hrku
您需要将ES6转换为ES5才能在heroku上实现。 包.json 中所需的更改。