Я создал и развернул приложение create-реагировать на приложение на страницах github. Проект обычно развертывается с npm run deploy
, а выбранный источник проекта - ветка gh-pages, обновленная вышеупомянутой командой.
url: https://crillion.github.io/test_react_02
хранилище : https://github.com/crillion/test_react_02
Приложение имеет следующую структуру маршрута / страницы:
/ -> <MainPage />
/ info -> <InfoView />
/ data -> <DataView />
Главная страница содержит ссылки на маршруты:
import React from 'react';
import { Link } from 'react-router-dom';
export default class MainPage extends React.Component
{
render()
{
return (
<div>
Main Page<br />
<Link to={"/info"}>info</Link><br />
<Link to={"/data"}>data</Link><br />
</div>
);
}
}
Основной маршрутизатор выполняет такое сопоставление:
import React from 'react';
import { BrowserRouter, Route } from 'react-router-dom';
import MainPage from '../MainPage/MainPage';
import InfoView from '../InfoView/InfoView';
import DataView from '../DataView/DataView';
export default function MainRouter()
{
return (
<BrowserRouter basename="/test_react_02">
<Route exact path="/"><MainPage /></Route>
<Route exact path="/info"><InfoView /></Route>
<Route exact path="/data"><DataView /></Route>
</BrowserRouter>
);
}
На локальном хосте я могу получить доступ к подстраницам подстраниц оба путем нажатия ссылок или путем вставки маршрута прямо в браузер :
http://localhost: 3000 / test_react_02 / info
В опубликованной версии я также могу перейти по ссылкам, щелкнув их:
https://crillion.github.io/test_react_02/info
Основной URL:
https://crillion.github.io/test_react_02/
также можно напрямую вставить в браузер и правильно отобразить;
, но если я попытаюсь вставить непосредственно любой из URL-адреса подчиненного маршрута * 1 057 * например
https://crillion.github.io/test_react_02/info
дает мне 404 не найдена ошибка .
Почему? Чего мне не хватает?
Большое спасибо.