在react-router中使用漂亮的URL?

时间:2015-07-28 11:17:36

标签: reactjs react-router

我试图了解react-router,但我似乎无法找到从URL中删除/#/的方法。我的用例非常简单,我只想在两页之间进行路由。这是我的路线:

var React = require('react'),
    Router = require('react-router'),
    Route = Router.Route,

    App = require('./app.jsx'),
    Home = require('./home.jsx'),
    Test = require('./test.jsx')

var routes = (
    <Route name="app" handler={App}>
        <Route name="home" path="/" handler={Home}/>
        <Route name="test" path="/test" handler={Test}/>
    </Route>
)

Router.run(routes, Router.HashLocation, function(Root){
    React.render(
        <Root />,
        document.body
    )
})

我过去一直在使用ui-router和Angular,所以我期待在某个地方需要添加,但我不确定。

这是一个静态站点(托管在GitHub上),因此我无法更改服务器。由于它曾经与ui-router一起工作,我确信有办法让它也可以工作。

谢谢:)

1 个答案:

答案 0 :(得分:1)

这里是documentation on HistoryLocation

您还需要配置服务器以相应地处理请求(因此它知道为您的路由提供服务,而不是保存到服务器的文件)。

Router.run(routes, Router.HistoryLocation, function (Root) {
   React.render( <Root/>,  document.body );
});