我目前正在使用React路由器开发React Web应用程序。我想要三条路线:
/:page /:subpage,类似于/ services / video
ReactDOM.render(
<Provider store={store}>
<Router history={browserHistory}>
<Route path="/(:page)(/:subpage)" component={AppContainer}/>
</Router>
</Provider>
, document.getElementById("target"));
所有路线的组件都相同。我只是选择我在render方法中传递给道具的数据。
前两条路线有效,但如果我把网址放在浏览器中,/ services / video就没有了。我只是得到一个空页。我的主页上也有一个Link元素。当我点击它时,所需的页面加载得很好,而网址实际上是http://localhost/services/video。但是,如果我重新加载页面,我会再次获得一个空页面。
所有这一切都适用于前两条路线,只有第三条路线失败。我用来为静态html页面提供服务的Express服务器是这样的: let express = require(“express”);
let app = express();
app.use(express.static(__dirname + '/'));
app.get('*', function(req, res){
res.sendFile(__dirname + '/index.html');
});
app.listen(3000);
我注意到一些有趣的事情: 当我使用带有组件的导航栏时,我会访问/ services / video,但找不到/显示图像。但是,当我去/关于图像显示。现在,当我导航到/ services / video然后我使用菜单导航到/关于链接实际变为http://localhost:3000/services/services/about这是不正确的,它显示正确的页面,但没有图像。