@B1dloKoder

Как правильно организовать раздачу статики на express.js с учетом react-router?

Пытаюсь написать веб-приложения с использованием реакта и express. Наткнулся на некоторые странности.

Вот так раздаю статику.
app.use(express.static(__dirname + './../public' ));
app.use(express.static(__dirname + './../public/js' ));
app.use(express.static(__dirname + './../public/css'));


Чтобы работало с react-router делаю так

app.use('*', (req, res) => {
  res.sendFile("index.html", { root: __dirname + "/../public/"});
})


Первая проблема заключается в том, что разные браузеры как-то по разному "воспринимают" пути к файлам. Например, хром видит подключенные в index.html файлы.
5f3c217d53c25087069389.png
Также работает и файерфокс
А Яндекс браузер нет.
5f3c21e2d103b285978332.png
5f3c21ed04912021148414.png

Вторая проблема заключается в том, что при раздаче файлов почему-то учитывается путь из адресной строки. Простите, может неправильно формулирую, ниже скриншоты для наглядности.
Если не перезагружать страницу, то роутинг работает вроде как нормально, исключая ошибку природа которой мне не совсем ясна:
5f3c23e3d9973422579651.jpeg
Но стоит перезагрузить страницу и получаю это
5f3c24422a052837348606.jpeg
При этом почему файлы ищет в "/main/" которой само собой нет.

Из этого следует вопрос, как правильно настроить раздачу статики в express? Прописывать каждый путь, когда раздаю статику? Выглядит так себе. Но даже это не смогу сделать, пока не разрешу первую проблему.
  • Вопрос задан
  • 834 просмотра
Решения вопроса 1
@B1dloKoder Автор вопроса
Проблема была с названием путей в index.html
после того как я переименовал папки из css и js в javascript и stylesheet все заработало.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы