Проблемы с использованием NodeJs и Babel с GCP App Engine - PullRequest
2 голосов
/ 17 марта 2019

Итак, у меня был отлично работающий NodeJS API, работающий в App Engine Google Cloud Platform.Я недавно провела рефакторинг своего приложения, чтобы использовать babel, чтобы иметь возможность импортировать es6 и async / await.

Теперь я получаю ошибку 500, когда пытаюсь получить доступ к API, и в журналах GCP выводятся следующие ошибки.Я не могу найти никого, кто имеет эту проблему.

error logs

Все работает правильно локально.Есть предложения?

1 Ответ

0 голосов
/ 18 марта 2019

Итак, я обнаружил, что я делаю здесь неправильно и как это исправить. Вавилон не предназначен для запуска в производство, это было бы ненужным и медленным. То, что вы должны сделать, это запустить Babel в dev и загрузить переданный код Babel на сервер для производства, в данном случае GCP.

Чтобы это работало, я отредактировал скрипты в моем package.json, поэтому «start» просто запустил бы 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), и все заработало отлично!

...