У меня есть приложение React Web, развернутое на Heroku и работающее на сервере Express / Node.js.Когда кто-то пытается получить доступ к какому-либо маршруту, мой файл index.js на сервере запускает следующий код:
const path = require('path')
app.get('*', (req, res) => {
res.sendFile(path.resolve(__dirname, 'client', 'build', 'index.html'))
})
Когда я загружаю приложение из корневого маршрута ('/'), все в порядке, и когда я перехожуВ приложении (с использованием React Router) все по-прежнему нормально.Проблема возникает, когда я пытаюсь обновиться из под-маршрута (например, / contact), тогда я получаю ошибку «Not Found».И когда я проверяю логи Heroku, я вижу это сообщение:
Error: ENOENT: no such file or directory, stat '/client/build/index.html'
Я должен заметить, что я запускаю скрипт сборки на сервере, и когда я вхожу в Heroku, я вижу папку "build" и всеСодержимое, включая «index.html», присутствует.
Следует также отметить, что я безуспешно пробовал другие конфигурации sendFile, такие как:
res.sendFile(path.resolve(__dirname + '/client/build/index.html'))
Кто-нибудь знает, в чем проблемаможет быть?