Развертывание Heroku прошло успешно, но показывает ошибку приложения

#node.js #heroku

Вопрос:

Прямо сейчас я использую Heroku для развертывания своего приложения с GitHub. Вот журнал вывода развертывания:

 -----> Building on the Heroku-20 stack
-----> Determining which buildpack to use for this app
-----> Node.js app detected
       
-----> Creating runtime environment
       
       NPM_CONFIG_LOGLEVEL=error
       NODE_VERBOSE=false
       NODE_ENV=production
       NODE_MODULES_CACHE=true
       
-----> Installing binaries
       engines.node (package.json):  16.x
       engines.npm (package.json):   unspecified (use default)
       
       Resolving node version 16.x...
       Downloading and installing node 16.3.0...
       Using default npm version: 7.15.1
       
-----> Installing dependencies
       Installing node modules (package.json)
       
       added 149 packages, and audited 150 packages in 9s
       
       10 packages are looking for funding
         run `npm fund` for details
       
       found 0 vulnerabilities
       
-----> Build
       
-----> Caching build
       - node_modules
       
-----> Pruning devDependencies
       
       up to date, audited 150 packages in 866ms
       
       10 packages are looking for funding
         run `npm fund` for details
       
       found 0 vulnerabilities
       
-----> Build succeeded!
-----> Discovering process types
       Procfile declares types     -> (none)
       Default types for buildpack -> web
-----> Compressing...
       Done: 48M
-----> Launching...
       Released v3
       https://dino-pack.herokuapp.com/ deployed to Heroku
 

Однако, когда я иду туда dino-pack.herokuapp.com , он показывает мне это:
введите описание изображения здесь

В чем проблема и как я могу ее решить? Я пытался удалить и повторно создать приложение, но оно все еще показывает это.

Ответ №1:

Проверьте, правильно ли была выполнена ваша настройка, файл Procfile и файл package.json. Следуйте руководству по настройке, чтобы дважды проверить. Я уверен, что это глупая ошибка, но нам нужно больше информации, чтобы выяснить, что это такое.

Комментарии:

1. Я ничего не делал для Procfile. Что это?

2. Попробуйте следовать этому руководству. Клонируйте проект «Начало работы» и проверьте файл процесса. devcenter.heroku.com/articles/… Проще говоря, вы используете файл Procfile, чтобы сообщить Heroku, как запускать различные части вашего приложения

Ответ №2:

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

Если у вас где-то есть импорт, в котором используется относительный путь, я бы попробовал изменить его либо на относительный формат, который работает, либо сначала попробовать абсолютный путь и посмотреть, что появится в журналах.

Это всего лишь предположение, так как вы не хотите делиться своим кодом.

Комментарии:

1. Я делаю это с GitHub, а не из командной строки.

2. Вы все равно должны быть в состоянии найти журналы. Если вы войдете в heroku, журналы будут доступны из вашего приложения. В правом верхнем углу есть выпадающее меню с надписью «просмотр журналов». Это отличается от журналов сборки, которыми вы уже поделились. Это тоже будет заметно. Но получить инструмент командной строки намного проще и настоятельно рекомендуется.

3. Журналы, которые я нашел, находятся здесь: pastebin.com/UgWj3hgE .

4. Я дважды проверил, был ли файл с именем app.js в родительском каталоге.

5. откуда вы установили пакет «dino-pack»? похоже, его нет в реестре npm.