javascript - Heroku 无法运行 Node ES6 代码

标签 javascript node.js heroku

我有一个使用 express-generator 生成的 express 应用程序,并添加了 babel 以将所有内容转换为 bin 文件。

我还在我的 package.json 中添加了

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

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

出于某种原因,一旦我添加了使用 es6 类语法的服务,应用程序就无法运行:

export default class GifService {}

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

2018-01-21T16:13:48.175448+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=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 时也遇到了同样的问题。有人遇到过这个吗?

谢谢

最佳答案

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

我试图用一堆插件转译到 stage-2

旧的.babelrc

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

我猜 Heroku 不支持这个。

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

新的 .babelrc

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

关于javascript - Heroku 无法运行 Node ES6 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48368940/

相关文章:

javascript - jQuery .click 处理程序在 Safari 中不起作用

node.js - PayPal Rest API - 创建发票时出现 401

heroku - 在Heroku上托管Dart应用程序的问题

javascript - 更改无限运行 CSS 动画的当前百分比

javascript - 重命名对象数组中的对象属性

node.js - 如何处理 node.js 可写流中的结束信号?

node.js - 如何在 Linux 上升级 angular-cli? CLI v6 不支持 Node.js V6.14.3

ruby-on-rails-3 - 在 Rails 3 中删除表和删除模型的最佳方法是什么?

heroku - 如何在 Heroku 上托管静态网页

javascript - 等待 Promise ..- ES6