我有这段代码作为我的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
有人可以帮忙吗?我已经阅读了文档,据说这是正确的方法,许多人似乎支持解决方案,但我被困在这里。
非常感谢
答案 0 :(得分:0)
你的历史版本是什么? 如果您的react-router版本是v2 / v3,则历史版本应为v3,v4适用于react-router v4