React router base url无法正常工作

时间:2016-09-25 10:29:08

标签: javascript reactjs react-router

我有这段代码作为我的React 15.0.1通用应用程序的路由器。 React路由器版本是2.3.0。

import routes from './client/routers/routes.jsx';

const engine = ReactEngine.server.create({
  routes: routes,
  routesFilePath: path.join(__dirname, 'client/routers/routes.jsx'),
});

app.engine('.jsx', engine);
app.set('views', __dirname + '/client/views');
app.set('view engine', 'jsx');
app.set('view', ReactEngine.expressView);

app.get('*', function(req, res) {
  res.render(req.url, { metadata: res.data.metadata,baseUrl: res.data.baseUrl, url: res.data.url });  
});

问题是,我收到以下错误:

不变违规:浏览器历史记录需要DOM

似乎此解决方案不适用于我的服务器端路由,因为我正在尝试为我的路由设置基本名称。

如果我忘记了basename,那么一切都很好,但我的应用程序不像spa(我相信找不到客户端的路由)。

以下是我的一些服务器端入口点(app.js):

row

有人可以帮忙吗?我已经阅读了文档,据说这是正确的方法,许多人似乎支持解决方案,但我被困在这里。

非常感谢

1 个答案:

答案 0 :(得分:0)

你的历史版本是什么? 如果您的react-router版本是v2 / v3,则历史版本应为v3,v4适用于react-router v4