Обновить проблему при обслуживании сборки React из NodeJS - PullRequest
0 голосов
/ 20 июня 2019

Описание проблемы:

  • Разработано приложение React, в котором для маршрутизации используется Browser Router.
  • Создано построение с использованием yarn build
  • Написал простой NodeJS сервер, который обслуживает мой react-build/index.html для маршрута '/'
  • Приложение отлично работает, если я не обновлю его.

Теперь, когда я обновляю страницу в http://website.com/category, она говорит Cannot GET /category

Я понимаю проблему здесь. Поскольку я написал единственный маршрут / на моем сервере NodeJS, он не может распознать website.com/category. Но у моего приложения реакции есть вся маршрутизация.

Код NodeJS

server.get("/", (req, res) => {
  res.sendFile (__dirname + '/react-build/index.html') ;
}

React Routing Code

<Switch>
  <Route exact path='/' component={Home} />
  <Route path='/cat' component={CategoryPage} />
  <Route path='/quickview/:id' component={QuickView} />
  <Route path='/brand/:brand' component={ProductDetailsPage} />
  <Route path='/product' component={ProductDetailsPage} />
  <Route path='/login' component={LoginPage} />
  <Route path='/myaccount' component={AccountPage} />
</Switch>

Обновить Проблема для всех маршрутов, кроме корневого

Я хочу, чтобы мое приложение могло быть перезагружено. Надеюсь решить эту проблему с моей текущей реализацией. Если буквально нет другого пути, кроме как, предложите какое-нибудь альтернативное решение. Спасибо

1 Ответ

0 голосов
/ 20 июня 2019

Я исправил проблему.Поскольку я написал маршрут сервера только для '/', Мой сервер только что понял корень веб-сайта.Я изменил '/' -> '/*' и теперь все работает нормально.Я надеюсь, что этот ответ экономит чье-то время.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...