我已经使用Netlify部署了我的站点,但我在路由方面遇到了问题。
这是我的网站:https://redux-co.netlify.com/
和我的GitHub存储库:https://github.com/jenna-m/redux-co
具体地,如果用户导航到主页之外的任何页面并刷新该页面,则默认Netlify 404呈现。在404页面中,如果我导航回主页并刷新,则会呈现主页。
此外,我的自定义404页面不能像我打开时那样工作localhost:3000
,但是在处理我的自定义404组件之前,我想先弄清楚这个刷新问题。
我正在使用React和react-router,我知道因为我正在使用react-router,所以我的网站不会开箱即用。
这是我的_redirects
文件,该文件位于/public
包含我的文件夹index.html
文件:
/* /index.html 200
这是我的“build”
位于package.json
:
…
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build && cp build/index.html build/404.html",
"test": "react-scripts test",
"eject": "react-scripts eject"
}
…
我读到过其他经历过这种情况的人,以及他们为克服这个问题所做的事情。这就是我到目前为止所引用的…
https://www.freecodecamp.org/news/how-to-deploy-a-react-application-to-netlify-363b8a98a985/
https://hugogiraudel.com/2017/05/13/using-create-react-app-on-netlify/
这个人使用的是Vue而不是React,但我还是尝试了这些解决方案:
https://github.com/vuejs/vuepress/issues/457#issuecomment-390206649
https://github.com/vuejs/vuepress/issues/457#issuecomment-463745656
发布于 2019-11-23 02:54:56
这很简单,它对我很有效。我找到了这个链接https://create-react-app.dev/docs/deployment#netlify
因此,根据该链接的建议,我添加了一个_redirects文件中的/public
文件夹类似/public/_redirects
。然后我粘贴了/* /index.html 200
进入_redirects
文件。我在我的VS代码中做了所有这些,之后我推送到github,当然,每次我推送到github时,我的netlify都会自动重新部署。我的问题解决了刷新不再出现404错误。
在我的package.json中,build部分如下所示;
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
}
注意:有些文章说您需要添加_redirects
在build
文件夹,但在我的例子中,build文件夹不在推送到github的内容中,所以这就是为什么添加_redirects
至public
文件夹对我来说工作得更好,因为公共文件夹可以与我的代码一起推送。
发布于 2020-11-15 15:14:57
添加netlify.toml
将以下代码粘贴到项目的根目录中:
[[redirects]]
from = "/*"
to = "/"
status = 200
推送和重新部署你的应用程序就完成了。
发布于 2019-09-23 23:56:21
删除_redirects
从您的公用文件夹中删除并移动netlify.toml
到你的git repo的根目录,更多信息。同时从生成脚本中删除&& cp build/index.html build/404.html
-你不再需要它了
https://stackoverflow.com/questions/58065603
复制相似问题