Heroku无法运行节点ES6代码

时间:2018-01-21 16:20:22

标签: javascript node.js heroku

我有一个使用express-generator生成的快速应用,并已添加到babel中以将所有内容转换为bin文件。

我还添加了package.json

"engines": {
  "node": ">= v8.9.0"
 }

确保它与我的本地环境运行相同版本的节点。

出于某种原因,只要我添加了使用es6类语法的服务,该应用就无法运行:

export default class GifService {}

我在日志中遇到的唯一错误是

  

2018-01-21T16:13:48.175448 + 00:00 heroku [router]:at = error code = H10   desc =" App崩溃" method = GET path =" /"   主机= gentle-depths-57675.herokuapp.com   request_id = a4c00cb7-5071-4883-a730-6355409d6aa2 fwd =" 86.28.187.108"   dyno = connect = service = status = 503 bytes = protocol = https

没有多大帮助。

当我使用async/await时,我也遇到了同样的问题。有没有人遇到过这个?

由于

1 个答案:

答案 0 :(得分:0)

看起来这是我的babel预设的一个问题。

我试图用一堆插件转换到第二阶段

老了.babelrc

{
  "presets": [
    "es2015",
    "stage-2"
  ],
  "plugins": [
    "transform-runtime",
    "syntax-async-functions",
    "transform-regenerator"
  ]
}

我猜这是Heroku不支持的。

我已将我的babel预设更改为以下内容:

new .babelrc

{
  "presets": [
    ["env", {
      "targets": {
        "node": "current"
      }
    }]
  ]
}