Пустая страница с реагирующим роутером на страницах github.Package.json home или .env PUBLIC_URL - PullRequest
0 голосов
/ 24 сентября 2019

Проблема: когда я иду к любому внутреннему корню и нажимаю f5, он ломается, давая 404. Как например: https://josuevalrob.github.io/jeval-web/sign-in. Но если я иду в корень, он работает нормально: https://josuevalrob.github.io/jeval-web

Я не знаю, как решить эту проблему.Есть куча документации по этому поводу, и я не могу справиться с этим.

Это репозиторий github: https://github.com/josuevalrob/jeval-web

Это страница github: https://josuevalrob.github.io/jeval-web

И вы видите, что пакет json имеет ключ home:

  "homepage": "https://josuevalrob.github.io/jeval-web",

Также .env в настоящее время пуст, но я могу добавить это:

PUBLIC_URL = "https://josuevalrob.github.io/jeval-web"

Тем не менее, это не работает.

Я добавил домашнюю страницу или public_url, ни одна из них не работает.

Ответы [ 2 ]

1 голос
/ 24 сентября 2019

Github-страницы не поддерживают одностраничные приложения.Одностраничным приложениям требуется сервер, который обслуживает одну и ту же страницу в каждом URL-адресе, а затем клиент отображает соответствующий контент на основе URL-адреса.Отсюда и «одна страница».Github не позволяет вам запускать код на стороне сервера, поэтому вы не можете написать сервер, который будет обслуживать ваш index.html на каждом маршруте.

Тем не менее, есть способ, который вы можете использовать для этой работы.Когда вы переходите к маршруту, отличному от корневого URL, Github будет обслуживать страницу 404, как вы можете видеть.Github позволяет настроить эту страницу 404.Таким образом, вы можете сделать пользовательскую страницу 404 своей одностраничной заявкой, и тогда она будет обслуживаться на каждом маршруте по мере необходимости.

В этом репо объясняются необходимые шаги для обслуживания вашей отдельной страницы в качествепользовательская страница 404 на страницах Github.

В основном это составляет ...

  1. Скопируйте эту 404.html страницу в репозиторий, как
  2. Добавьте этот скрипт перенаправления на свою страницу index.html

Единственный недостаток заключается в том, что URL-адрес вынужден перенаправлять и быстро мигает неправильный URL-адрес перед перенаправлением.Вы можете увидеть пример этого, обновив эту страницу .Если вы хотите избежать этого, вам нужно искать хостинг в другом месте, который позволяет редактировать код на стороне сервера и обслуживать ваш index.html на каждом маршруте

0 голосов
/ 26 сентября 2019

У меня была похожая проблема с реакцией приложения.Я исправил это, используя HashRouter вместо BrowserRouter в компоненте приложения

...