在本地提供我的应用程序时,一切都正常加载并在刷新时正常工作。当我部署到Heroku时,点击不同链接时一切正常。
我遇到的问题是当我到达路线时。 IE:/ aboutus和刷新我得到一个“未找到”。当我在那里导航时,所有检查都很好。有什么想法吗?
我也在使用react router redux。
的package.json
....
"express": "^4.14.1",
"react-redux": "^5.0.3",
"react-router": "^3.0.2",
"react-router-redux": "^4.0.8",
server.js
app.use(express.static(path.join(__dirname, '/../dist')));
app.use('/data', express.static(__dirname + '/data'));
app.use(express.static(__dirname))
app.get('*', (req, res) => {
res.sendFile(path.join(__dirname, 'index.html'));
});
Index.js
...
const router = (
<Provider store={store}>
<Router history={history}>
<Route path="/" component={App}>
<IndexRoute component={Home} />
<Route path="/aboutus" component={About} />
<Route path="/list" component={List} />
</Route>
</Router>
</Provider>
)
render(router, document.getElementById('main'));
答案 0 :(得分:1)
如果有其他人遇到此问题,我最后通过调整我的Express配置来解决这个问题:
//res.sendFile(path.join(__dirname, 'index.html'));
res.sendFile(path.resolve(__dirname + '/../dist/index.html'));