Я пытаюсь развернуть свое локальное приложение 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, это решило мою проблему.