如何在反应路由器中使用HistoryLocation?

时间:2015-05-13 05:08:54

标签: reactjs react-router

我正在尝试使用具有历史位置的路线,因为我不想在我的网址中使用#,我想使用正常的路线,我一直在尝试一切,每次我都得到同样的错误& #34;不能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'));
});
&#13;
&#13;
&#13;

我正在使用反应js 0.13.3与webpack,grunt js,karma,jshintrc,chrome作为浏览器,我用自耕农的反应js生成器构建项目

我在localhost中运行我的应用程序,如下所示: http://localhost:8000/loginpro

1 个答案:

答案 0 :(得分:4)

如果您使用的是webpack dev服务器,则需要将其配置为针对所请求的任何网址提供您的应用,而不仅仅是/

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

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