Как развернуть API, использующий сукразу - Heroku - PullRequest
0 голосов
/ 10 ноября 2019

Я использую сукразу, чтобы не использовать синтаксис commonjs для импорта. Чтобы сделать это, я установил зависимость sucrase и настроил nodemon для регистрации sucrase после запуска каждого файла узлом.

Что моя конфигурация nodemon:

{
  "execMap": {
    "js": "node -r sucrase/register"
  }
}

Но проблема в том,что он работает только на стадии разработки, и я не нахожу решения для запуска приложения с помощью procfile

web: node ./src/server.js & node ./src/queue.js

Мои журналы ошибок heroku:

2019-11-10T01:59:01.073862+00:00 app[web.1]: import Bee from 'beequeue';
2019-11-10T01:59:01.073864+00:00 app[web.1]: ^^^^^^
2019-11-10T01:59:01.073866+00:00 app[web.1]: 
2019-11-10T01:59:01.073867+00:00 app[web.1]: SyntaxError: Cannot use import statement outside a module

1 Ответ

0 голосов
/ 10 ноября 2019

Sucrase только для разработки , и за кулисами ему необходимо преобразовать импорт в common js sintax . Таким образом, чтобы развернуть ваше приложение, вы можете сначала выполнить команду build, предоставленную в Sucrase Docs , а затем изменить команду вашего procfile.

Чтобы сгенерировать сборку, выполните эту команду:

 sucrase ./src -d /build --transforms javascript,imports 

Если вы используете Typescript:

 sucrase ./src -d /build --transforms typescript,imports 

, а затем в вашем procfile:

web: node ./build/server.js & node ./build/queue.js
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...