我以为我开始了解 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 选项中明确传递基本名称