Мне казалось, что я начинаю понимать React Router, но я ударил новую стену, добавляя библиотеку, которая загружает css для своих компонентов. Все работает отлично, когда перемещается из моего дома, на страницу, содержащую компонент, но когда я его обновляю, URL-адреса шрифтов сломаны...
Я нашел здесь указатель и здесь, но пока не повезло. Это распространенная проблема? Как обойти это?
Я использую сервер webpack dev с конфигурацией по умолчанию, созданной yoman scaffolder.
Библиотека, которую я использую, React Fa для отображения значков.
Когда я загружаю свое приложение на http://localhost:8000/, все отображается нормально, затем я перехожу к http://localhost:8000/customer/ABCD1234/chat, и мои значки в порядке. Шрифт был загружен должным образом.
Затем я обновляю страницу, и я вижу в консоли:
DOMLazyTree.js? 019b: 56 GET http://localhost:8000/customer/ABCD1234/assets/926c93d201fe51c8f351e858468980c3.woff2
Что явно нарушено, потому что часть клиента не должна быть здесь...
Вот мой маршрутизатор:
ReactDOM.render(
<Router history={browserHistory}>
<Route path='/' component={App}>
<IndexRoute component={Index}/>
<Route path='customer/:id' component={Customer} />
<Route path='customer/:id/chat' component={CustomerChat}/>
<Route path="*" component={ NotFound } />
</Route>
</Router>
, document.getElementById('support-app'));
Я также попытался добавить <base href="/"/>
в свой index.html, но я получаю красивое предупреждение в красном на консоли, поэтому, возможно, не лучшая идея:
Предупреждение. Автоматическая установка базового имени с помощью устарел и будет удален в следующем крупном выпуске. семантика тонко отличается от базового. пожалуйста передайте базовое имя явно в параметрах createHistory