React-Router不会在直接刷新时加载组件

时间:2016-05-13 17:47:25

标签: reactjs react-router

我面临着以下路由器规范的一个奇怪的错误

  <Provider store={store}>
    <Router history={history}>
      <Route path="/" component={AppContainer}>
        <IndexRoute component={Home}/>
        <Route path="projects" component={ProjectContainer} />
        <Route path="projects/new" component={newProject} />
      </Route>
    </Router>
  </Provider>,document.getElementById('app')

我可以直接在浏览器中输入网址,导航到//projects。但它不适用于/projects/new。该页面只是空白(甚至不是标准cannot GET /projects/new。我只能通过从/projects/页面导航来导航到该网址。

我在webpack中的historyApifallback设置为true。我哪里错了?

编辑:这是关于loading / projects / new

的下面的console.log
new:8 GET http://localhost:8080/projects/styles.css 
new:18 GET http://localhost:8080/projects/bundle.js 

我的index.html似乎在/ parent中寻找js和css文件,而它应该位于root

    <link rel="stylesheet" href="styles.css">

    <script src="bundle.js" charset="utf-8"></script>

1 个答案:

答案 0 :(得分:1)

<script>标记src属性中,在前面添加斜杠(例如/bundle.js)。这样它总是使用root作为基本路径。