Ошибка развертывания Heroku: отображение бэкэнда, а не внешнего интерфейса - PullRequest
0 голосов
/ 10 мая 2019

Я пытаюсь развернуть свое локальное приложение MERN в Heroku.Приложение работает в автономном режиме.После развертывания, когда я нажимаю «Открыть приложение», я вижу только данные из бэкэнда.Не передний конец.Развертывание здесь: https://whispering -falls-45660.herokuapp.com / .

Установите новый проект Heroku, и после успешного выполнения «git push Heroku master» приложение отображает только данные бэкэнда.Версия CLI Heroku: heroku / 7.24.1, версия узла: v10.13.0.

Репозиторий Github: https://github.com/neilhsieh/whereToEat

В файле Package.json предусмотрены соответствующие сценарии в соответствии с Брэдом Траверси:

"scripts": {
  "start": "node server.js",
  "server": "nodemon server.js",
  "client": "npm start --prefix client",
  "dev": "concurrently \"npm run server\" \"npm run client\"",
  "heroku-postbuild": "NPM_CONFIG_PRODUCTION=false npm install --prefix client && npm run build --prefix client"
},

В коде server.js указан соответствующий код, указывающий на файл сборки клиента:

if (process.env.NODE_ENV === 'production') {
  app.use(express.static('client/build'))

  app.get('*', (req, res) => {
    res.sendFile(path.resolve(__dirname, 'client', 'build', 'index.html')) // relative path
  })
}

Ожидается, что внешний интерфейс развернут на Heroku, и в итоге получится только серверная часть.

ОБНОВЛЕНИЕ : перемещен тест process.env.NODE_ENV до всех вызовов API, это решило мою проблему.

...