刷新React页面

时间:2019-09-28 00:27:38

标签: reactjs express amazon-ec2 react-router

我回来了(Refreshing React with Express server)。我希望找出这个问题。

快速回顾:我正在尝试刷新我的React网站。如果我访问www.domain.com/about,我将获得:

未找到 在此服务器上找不到请求的URL。

相同,如果我单击按钮进入/ about并单击“刷新”,我将收到此错误。

我的目标 要访问我的网站,请单击另一页(即domain.com/anotherpage),然后按f5键刷新并获得相同的页面。

我了解:

问题在于,当我单击我的React应用程序按钮或链接转到另一个页面时,React只是更改URL。然后,当我刷新时,它将查找www.domain.com/whatever。由于没有任何内容,它返回404。

我也知道,如果我可以让我的React应用程序将所有流量定向到index.html。 React将处​​理其余的事情。

我尝试过的事情:

在我以前的文章中,建议使用我的托管站点将流量重定向到index.html。但是,我的托管站点允许我为子域调整DNS,但此后什么也没有。 (即www.subdomain.domain.com可以正常运行,但www.domain.com/无论如何都不能),这是我期望的,但我想我会尝试的。

但是我确实有一个Express应用程序,它不提供文件,只是等待一个按钮被按下然后执行操作。我不需要运行服务器即可启动网站。

我已经尝试为此创建一条快速路线,它看起来像:

app.get('/*', (req, res) =>{
    res.sendFile(path.join(__dirname + '/public/index.html'));
});

我仍然收到相同的404错误。

我还向服务器添加了index.html。认为它需要.html文件进行发送。 (认为​​可能很好)。

我不知道的

React在生产中会在哪里寻找index.html?当我在asset-manifest.json下查看构建文件时,有一行“ index.html”:“ /index.html”代码。它在哪里找到索引文件?如果是这样,我可以将其更改为在每个页面请求上都转到index.html吗?

显然,我希望用户能够刷新页面并返回页面。有人可以指出我正确的方向吗?

谢谢!

0 个答案:

没有答案