将漂亮的 URL 与 react-router 一起使用?

Using pretty URLs with 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
    )
})

我过去一直在 Angular 中使用 ui-router,所以我希望我需要在某处添加一个 prop,但我不确定。

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

谢谢:)

这是documentation on HistoryLocation

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

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