我以为我开始了解 React Router,但是在添加一个为其组件加载 css 的库时,我遇到了新的障碍。当从我的家导航到包含该组件的页面时,一切正常,但是当我刷新它时,字体的 url 被破坏了......
我在这里和这里找到了一些指针,但到目前为止没有运气。这是一个常见问题吗?如何解决它?
我使用 webpack 开发服务器和由自耕农脚手架构建的默认配置。
我使用的库是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 中添加一个,但我在控制台中收到了一个很好的红色警告,所以可能不是最好的主意:
警告:不推荐使用自动设置 basename,并将在下一个主要版本中删除。的语义与 basename 略有不同。请在 createHistory 选项中明确传递基本名称