Маршрутизация с помощью сервера React Node JSON

#node.js #reactjs #heroku #routes #json-server

#node.js #реагирует на #героку #маршруты #json-сервер

Вопрос:

У меня проблема с сервером React, NodeJS и JSON. В принципе, я пытаюсь настроить сервер, который взаимодействует с базой данных (и это задача json-сервера), и эта часть работает правильно. Это тот самый server.js файл, в котором я установил это:

 const jsonServer = require('json-server'); const app = jsonServer.create(); const router = jsonServer.router('./db.json'); const middlewares = jsonServer.defaults( {  static: './build' }); const port = process.env.PORT || 8000;  app.use(middlewares);  app.use(jsonServer.rewriter({   '/api/*': '/$1' }))  app.use(router)  app.listen(port, () =gt; {  console.log('Server is running') })  

Проблема в следующем: когда я захожу в корень своего приложения (например: root = somesite.ext), если я не вошел в систему, оно перенаправляет меня на {root}/вход. Если я обновлю страницу входа в систему или зайду на нее напрямую, я получу ошибку 404. Вопрос в следующем: как мне правильно установить server.js для того, чтобы отслеживать все маршруты моего приложения и не возвращать 404 или другие ошибки, если они существуют?

На стороне реакции маршруты определяются следующим образом:

 lt;Routergt;  lt;Switchgt;  lt;Route exact path="/login" element={lt;Login title="You are not logged in :(" log={this.log.bind(this)} logStatus={logStatus} /gt; } /gt;  lt;Route exact path="/" element={lt;divgt;lt;Application log={this.log.bind(this)} logStatus={logStatus} user={this.state.currentUser}/gt;lt;/divgt;} /gt;  lt;Route path="/verify/*" element={lt;VerifyEmail log={this.log.bind(this)} /gt;} /gt;  lt;/Switchgt; lt;/Routergt;  

Если это представляет какой-то интерес, я пытаюсь развернуть это приложение на Heroku.