@Fatoblack

Как настроить react-route в связке с express?

Использую React-Route и expess.
Нужно по всем путям отдавать файл public/index.html
На сервере код такой :

//устанавливаем папку public за статику.
app.use(express.static('public'));
//путь "/"
app.get('/', (req, res) => {
    res.sendFile( __dirname + '/public/index.html' );
});
//путь "/signin"
app.get('/signin', (req, res) => {
    res.sendFile( __dirname + '/public/index.html' );
});

React-Router на клиенте :

<Router history={browserHistory}>
        <Route path="/" component={Home} />
        <Route path="/signin" component={LoginForm} />
</Router>


При запуске сервера компонент {Home} отображается отлично,
а вот попасть в путь "/signin", в компонент {loginForm}удается только по средством ссылки
<Link to="/signin"> signin </Link>
которая находится в компоненте Home.

Проблема в том что если попав в путь /signin перезагрузить страницу посредством F5, мы получаем такую ошибку :
Error: ENOENT: no such file or directory, stat 'C:\Web development\server\public\index.html'
at Error (native)
Експресс требует статики, но ведь я уже добавил папку public на сервере. Как решить проблему?
  • Вопрос задан
  • 241 просмотр
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы