Этот вопрос задавался несколько раз, я читал подобные вопросы и безуспешно пытался решить эту проблему, поэтому я публикую свой код, чтобы посмотреть, поможет ли новая пара глаз решить мою проблему.
Мое приложение работает в Heroku, как и ожидалось, однако при обновлении страницы или переходе непосредственно к маршруту, который не является домашней страницей (пример myapp.com/wh независимо).Я получаю 404. Не найдено.
Моя маршрутизация работает локально, поэтому я знаю, что это связано с настройками моего приложения и Heroku.У меня есть приложение MERN с клиентом create-реакции-app и серверным сервером Express
Папка Stucture
client/
server/
package.json
static.json
static.json
{
"root": "client/build/",
"clean_urls": false,
"routes": {
"/**": "index.html"
}
}
Router.js
<BrowserRouter basename="/">
<Fragment>
<Switch>
<Route exact path="/" component={Home} />
<Route extact path="/login" component={Login} />
<PrivateRoute path="/dashboard" component={Dashboard} />
</Switch>
</Fragment>
</BrowserRouter>
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'));
});
}
Кто-нибудь видит все, что мне не хватает