历史API回退在刷新时失败

时间:2017-07-02 16:15:07

标签: reactjs webpack react-router webpack-dev-server

我在我的webpack dev服务器上启用了history api fallback选项,当我尝试直接访问或刷新/complete/incomplete路由时,该选项正常。但是 - 在我的switch语句中,我试图捕获所有其他可能的URL并重定向到404组件。

<Switch>

    <Route exact path={'/'} render={()=>{
        return <Redirect to='/incomplete'/>
    }}/>

    <Route exact path={'/complete'} render={()=>{
        return ( <TodoComplete/> );
    }}/>

    <Route exact path="/incomplete" render={()=>{
        return ( <TodoIncomplete/> );
    }}/>

    <Route component={NotFound}/>

</Switch>

这似乎工作得很好并且正确地路由到NotFound组件以获取类似http://localhost.com/undefinedroute的网址但是它似乎没有捕获任何嵌套的内容,例如http://localhost.com/complete/undefinedroute

我得到一个控制台错误,说我的资源正在尝试从错误的路径加载http://localhost.com/complete/bundle.js

这是预期的行为吗?

2 个答案:

答案 0 :(得分:0)

根据文档似乎是预期的行为。但是,有一个关于行为的大线程here,他们可能会很快改变这一点。

答案 1 :(得分:0)

在您的index.html中放入/bundle.js

<script src='/bundle.js'></script>