【发布时间】:2018-11-25 15:59:10
【问题描述】:
这个问题已经被问过很多次了,我一直在阅读类似的问题并试图解决这个问题但没有运气,所以我发布我的代码,看看是否有一双新的眼睛可以帮助解决我的问题。
我的应用在 Heroku 上按预期运行,但是在刷新页面或直接导航到不是主页的路线时(例如 myapp.com/whatever)。我得到一个 404 未找到。
我的路由在本地工作,所以我知道这与我的应用设置和 Heroku 有关。我有一个带有 create-react-app 客户端和 express 服务器后端的 MERN 应用程序
文件夹结构
client/
server/
package.json
static.json
static.json
{
"root": "client/build/",
"clean_urls": false,
"routes": {
"/**": "index.html"
}
}
Router.js
<BrowserRouter basename="/">
<Fragment>
<Switch>
<Route exact path="/" component={Home} />
<Route extact path="/login" component={Login} />
<PrivateRoute path="/dashboard" component={Dashboard} />
</Switch>
</Fragment>
</BrowserRouter>
Server.js
if (process.env.NODE_ENV === 'production') {
app.use(express.static('client/build'))
app.get('*', (req, res) => {
res.sendFile(path.resolve(__dirname, '../client', 'build', 'index.html'));
});
}
有人看到我遗漏的任何东西吗?
【问题讨论】:
标签: reactjs heroku react-router-v4 react-router-dom