我已经用Netlify部署了我的站点,但我在路由方面遇到了问题.

这是我的网站:https://redux-co.netlify.com/

我的GitHub回购协议:https://github.com/jenna-m/redux-co

具体地说,如果用户导航到主页之外的任何页面并刷新该页面,则会呈现默认的Netlify 404.从404页面,如果我导航回主页并刷新,主页将被呈现.

此外,我的自定义404页面在我localhost:3000岁时无法正常工作,但我希望在处理自定义404组件之前先解决这个刷新问题.

我使用的是React和React路由,我知道由于我使用的是React路由,我的网站不会立即部署.


这是我的_redirects文件,与我的index.html文件一起放在/public文件夹中:

/*    /index.html   200

这是位于package.json的我的“build”:

…
  "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 ,但我还是try 了以下解决方案:

https://github.com/vuejs/vuepress/issues/457#issuecomment-390206649

https://github.com/vuejs/vuepress/issues/457#issuecomment-463745656

推荐答案

This was simple and it worked for me.我找到了这个链接https://create-react-app.dev/docs/deployment#netlify

正如那个链接所建议的,我在/public文件夹中添加了一个_redirects文件,比如/public/_redirects.然后我将/* /index.html 200粘贴到_redirects文件中.我在我的VS代码中完成了所有这些,之后我推到github,当然,每次推到github时,我的netlify都会自动重新部署.我的问题解决了

在我的包裹里.json,构建部分如下所示;

"scripts": {
   "start": "react-scripts start",
   "build": "react-scripts build",
   "test": "react-scripts test",
   "eject": "react-scripts eject"
}

Note:

Reactjs相关问答推荐

无法使用Apollo客户端GraphQL设置Next.js 14

Reaction路由的问题-在Effect使用API调用响应设置状态之前呈现页面

UseEffect和useSelector的奇怪问题导致无限循环

当我try 部署我的Reaction应用程序时,为什么在此PrevState语句中收到语法错误?

shadcn输入+窗体+Zod;一个部件正在改变要被控制的不受控制的输入;

有没有办法在 React Router v6 中的路由匹配上运行一些逻辑/功能?

无法使用 Suspense 和 Await 获取数据

为什么在 React 的 useEffect 中使用 onAuthStateChanged ?

ReactJS 中的图像加载顺序

无法通过react 路由中的链接传递信息

当我使用 Firebase Auth 在 React 中刷新主页时显示登录页面

将水平滚动视图添加到底部导航选项卡

部署到github pages时请求路径错误

Primereact 的日历组件在每个月 12 日之后使用非唯一键生成

FlatList 不在 React Native 中呈现项目

将 useState 设置为组件内部的值

将props 传递给 NextJS 布局组件

顶点图表甜甜圈项目边框半径

如何使用react 路由将 url 参数限制为一组特定的值?

react-admin useGetIdentity 只返回全名,id 未定义 头像未定义