2017-07-27 2 views
2

NodeJSアプリケーションで私のルートの1つに非同期機能を実装しようとしています。それは私がローカルホスト上でそれを実行したときに動作しますが、Herokuのにデプロイする際に、エラーunexpected token (は、次のコードの1行目にスローされます。非同期機能は、HerokuにデプロイされたNodeJSアプリケーションではサポートされていません

router.post('/post', async(req,res) => { 
    const data = await getData(); 
    //do stuff 

}) 

私は、これは1つの環境で動作理由として少し混乱していると他のものではありません。私は行方不明のherokuの設定はありますか? ES2016/2017のサポートをHerokuに明示的に追加する必要はありますか?

+3

https://devcenter.heroku.com/articles/nodejs-support#-node-js-versionを指定する(少なくともバージョン7が必要) – robertklep

+0

ありがとうございます - あなたが答えを気にするなら、私はupvoteをします。 –

答えて

4

特定のバージョンを設定していない場合、Herokuはデフォルトでノードの最新のロングタームサポートバージョン(これは、書面では、v6.11.1)になります。

async/awaitは、v7.6以降のノードで利用されているので、あなたはここに記載されているように、明示的に、あなたのpackage.json、少なくともそのバージョンを指定する必要があります:https://devcenter.heroku.com/articles/nodejs-support#specifying-a-node-js-version

0

あなたはそれがHerokuの上で実現するために、ES5にごES6を変換する必要があり

Es6_hrku

このリンクを参照することができます。 package.jsonに変更が必要です。

関連する問題