在netlify中捕获创建-反应-应用程序的所有重定向 [英] Catch all redirect for create-react-app in netlify

查看:8
本文介绍了在netlify中捕获创建-反应-应用程序的所有重定向的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个使用create-react-app生成并托管在netlify中的。

<3-0]中提到我需要为SPA编写重定向规则。

/*    /index.html   200
但重定向到index.html不起作用,因为没有使用该URL呈现任何视图。 我还尝试重定向到/Like

[[redirects]]
  from = "/*"
  to = "/"

但这也不起作用。

如何为create-react-app执行全面重定向?

推荐答案

要捕获所有重定向,请使用_redirects文件中的/* /index.html 200

根据netlify文档,_redirects文件应该位于您的根构建目录中。

默认情况下,Create-Reaction-app在名为build的文件夹下创建所有构建文件

因此,在构建应用程序后,只需修改package.json中的build scripts,将_redirects添加到Build文件夹中。

示例。

"scripts": {
  ....
  "build": "react-scripts build && echo '/* /index.html  200' | cat >build/_redirects ",
  ...
}

如果您有多个重定向以简化操作,则可以在CRA的根(/)文件夹中创建一个包含所有重定向的_redirects文件

package.json将变为

"scripts": {
  ....
  "build": "react-scripts build && cp _redirects build/_redirects",
  ...
}

确保netlify中的构建命令为yarn run buildnpm run build

package.json中进行更改后,只需重新生成代码即可。


已更新:更好的方式

在CRA(Create Reaction App)中,构建脚本将公共目录中的每个文件复制到Build文件夹中,因此只需将_reDirects与规则放在公共目录中,而不更改任何内容,您就可以开始工作了。

这篇关于在netlify中捕获创建-反应-应用程序的所有重定向的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆