因此,我在Google Cloud Platform的App Engine中运行了一个运行良好的NodeJS API。我最近将我的应用程序重构为使用babel,这样我就可以导入es6并进行异步/等待。
当我尝试访问API时,现在收到500错误,并且以下错误在GCP日志中输出。我找不到其他有这个问题的人。
一切都在本地正常运行。有什么建议吗?
答案 0 :(得分:0)
因此,我发现我在这里做错了什么以及如何解决它。 Babel并非要在生产中运行,那将是不必要且缓慢的。您应该做的是在开发人员中运行Babel,并将Babel的转码后的代码上传到服务器以进行生产(在本例中为GCP)。
为完成这项工作,我在package.json
中编辑了脚本,因此“开始”将仅运行node dist/server.js
(server.js是我的入口点,其他常见的是app.js或index。 js)。我创建了一个单独的脚本来运行Babel,然后启动。 Google Cloud Platform默认运行启动脚本。
这解决了一些问题,但是弹出了一个新问题,说babel runtime regenerator
未定义。为了解决这个问题,我刚刚安装了babel-runtime
npm软件包(npm install --save babel-runtime
),一切正常!