如何在 React 路由器中使用 HistoryLocation?

How to use HistoryLocation in react router?

我正在尝试使用具有历史位置的路线,因为我不想在我的 url 中使用#,我想使用普通路线,我一直在尝试一切,每次我得到同样的错误 "Cannot GET /loginpro"。我不明白位置是如何工作的,这是我的代码

'use strict';
var React = require('react');
var Router = require('react-router'); // or var Router = ReactRouter; in browsers
var DefaultRoute = Router.DefaultRoute;
var Route = Router.Route;
var Cliente = require('./FormClientRegister');
var Login = require('./LoginProgresar');
var Contract = require('./FormContractRegister');

var routes =(<Route name="loginpro" path="/loginpro" handler={Login}/>);

Router.run(routes,Router.HistoryLocation,function (Handler) {
    React.render(<Handler />, document.getElementById('content'));
});

我正在使用带有 webpack、grunt js、karma、jshintrc 的 React js 0.13.3,chrome 作为浏览器,我使用 yeoman 的 React js 生成器构建项目

我是 运行 我在本地主机上的应用程序是这样的: http://localhost:8000/loginpro

如果您使用的是 webpack 开发服务器,则需要将其配置为为任何 URL 请求的应用程序提供服务,而不仅仅是 /.

根据 react-hot-loader troubleshooting docs,这应该只是将 historyApiFallback: true 添加到开发服务器配置的情况。

This react-router issue 对此有更多讨论,包括人们使用的不同配置。