Реакции-маршрутизатор v2.0 браузер история не работает

В настоящее время используется response-route v2.0.

Я уверен, что что-то перебираю, но я могу заставить работать hashHistory, но при реализации browserHistory я получаю сообщение об ошибке 404, так как пытаюсь удалить hashHistory в URL, а также хотел бы узнать, как обойтись для производства.

Я весь день выдергивала волосы и, кажется, не видела, в чем дело.

Приложение /App.jsx

var React = require('react');
var ReactDom = require('react-dom');
var Router = require('react-router').Router;
var routes = require('./config/routes');
var browserHistory = require('react-router').browserHistory;

ReactDom.render(
  <Router history={browserHistory}>{routes}</Router>,
  document.getElementById('app')
);

приложение / Config/routes.jsx

var React = require('react');
var Main = require('../components/Main');
var Home = require('../components/Home');
var Profile = require('../components/Profile');
var Router = require('react-router');
var Route = Router.Route;
var IndexRoute = Router.IndexRoute;

module.exports = (
  <Route path="/" component={Main}>
    <Route path="profile/:username" component={Profile} />
    <IndexRoute component={Home} />
  </Route>
);

Вот репозиторий, над которым я работаю: https://github.com/SOSANA/React.JS-Tutorials-and-Things/tree/master/github-notetaker/04-state-and-props

Надеюсь, кто-то может помочь

2 ответа

Решение

Вам нужно использовать относительный (или абсолютный) URL-адрес в теге сценария, в противном случае приложение завершает запрос сценария в каталоге, а сервер отвечает (catch-all) html-файлом.

<script src="/bundle.js"></script>

Вам необходимо дополнительно настроить свой сервер при использовании browserHistory обслуживать соответствующий ресурс при начальной загрузке страницы.

Для получения дополнительной информации см. https://github.com/rackt/react-router/blob/master/docs/guides/basics/Histories.md#configuring-your-server.

Другие вопросы по тегам