我可以通过 Netlify 使用 react-router-dom 免费托管我的 React 应用程序吗?

时间:2021-01-11 17:48:12

标签: reactjs react-router-dom netlify

我的项目:

  • React(我使用 create-react-app 库)
    • 使用 react-router-domBrowserRouterRouteSwitch 导入。这允许我转到不同的 url:例如,当我在 localhost 上运行我的应用程序时,localhost3000 是 home。我的应用的部分功能是随机生成网址 - 例如:localhost3000/123456localhost3000/654321
  • 对 Firebase 实时数据库中的数据库进行更改并使用 Firebase 的身份验证。

我需要什么:

  • 免费:由于这个应用程序是一个投资组合,我想我所需要的只是允许我使用 react-router-dom 的任何域名。例如,www.anyname.com 是家,www.anyname/123456.com 是我的路线之一。

  • 非免费:如果无法免费实现我想要的东西,那么我很乐意购买一个域名,并希望能够提供有关如何实现这一目标的建议。

我的研究:

  • 有人向我推荐了 Netlify。我知道它可以更改部分域名,但我不知道它是否会显示我的“路由”,例如(nameofmychoosing.netlify.app 是家,nameofmychoosing/123456.netlify.app 是我的路线之一 - 这行得通吗?)。

附言如果这不是发布此问题的正确位置,将我引导到正确类型的论坛将不胜感激。


编辑:刚刚发现 thisthis,它们说我需要稍作修改才能让 netlify 与 react-router-dom 一起使用。

2 个答案:

答案 0 :(得分:1)

您可以自由更改正在运行代码的任何网页的网址。唯一的后果是相对 URL 的行为以及页面重新加载时发生的情况。在大多数自托管环境中,您应该可以随意更改域之后的任何内容。例如 https://www.example.com/yourrouteshere 或也使用 https://www.example.com/page#Yourrouteshere。需要记住的是,如果用户刷新页面,您的后端仍然需要提供适当的响应。这可能意味着无论 URL 路径如何,后端总是返回相同的内容,或者可能意味着根据您的用例提供不同的内容。

除非您有一个奇怪的设置,依赖于某些奇怪用例的多个主机名,否则您不应修改域本身。

应用程序运行后,您可以考虑使用 CNAME 属性设置 DNS 记录以转发到现有主机。

答案 1 :(得分:0)

我可以使用 Netlify 免费托管我的 React 应用程序并通过 i) 在 react-router-dom 所在的文件夹中创建一个名为 _redirects 的文件并使用 .html ii ) 在 _redirects 中插入:/* /index.html 200

已经有一个类似的问题和答案 here,我想将我的问题链接到。我不知道该怎么做,所以如果有人能告诉我,我将不胜感激。