Установить базовое имя на реакторе
Я настраиваю реактивный шаблон, чтобы начать проект на нем.
Наша среда разработки публикует "dev" версии приложения в подпутях, например: example.org/test/project-name
Затем, когда мы публикуем проект, он остается на example.org/
Я хотел бы использовать историю браузера (HTML5 API), а не историю хешей. Но это означает, что я должен установить basename
React Router для соответствия текущей среде.
Прямо сейчас я пытаюсь настроить статическое базовое имя следующим образом:
const browserHistory = useRouterHistory(useBasename(createHistory))({
basename: '/test/project-name',
});
const store = configureStore(initialState, browserHistory);
Но когда я запускаю приложение, домашняя страница по-прежнему /
вместо /test/project-name/
,
Итак, вопросы:
- Что я делаю неправильно?
- Как бы вы сделали базовое имя соответствовать текущей среде?
1 ответ
Ответ находится в документации по реагирующему маршрутизатору:
Имейте в виду, что useRouterHistory уже предварительно расширяет вашу фабрику истории с помощью расширений useQueries и useBasename из истории.
import { useRouterHistory } from 'react-router' import { createHistory } from 'history' const history = useRouterHistory(createHistory)({ basename: '/base-path' })