如何将所有路由重定向到 gatsby 索引

2024-02-06

我正在尝试创建一个只有一页来处理所有路线的 Gatsby 项目。我有这样的索引页面:

const App = () => {
  return <Router>
    <Home path="/"/>
    <Login path="/login" />
    <Content path="/content" />
  </Router>
}

on src/pages我只有的文件夹index.js

我怎样才能让这个页面处理所有的路由?

检查盖茨比文档(https://www.gatsbyjs.com/docs/client-only-routes-and-user-authentication/ https://www.gatsbyjs.com/docs/client-only-routes-and-user-authentication/)我知道我可以使用该插件gatsby-plugin-create-client-paths像这样:

{
  resolve: `gatsby-plugin-create-client-paths`,
  options: { prefixes: [`/app/*`] },
},

如果我创建一个名为的页面,这效果很好app.js使用反应路由器。所以所有的路线/app/*转到此页面。

但是我怎样才能在根网址上进行这种重定向:/。我想让任何路线/*进入索引页:index.js

关于如何执行此操作有什么建议吗? :)


Setup index.js像这样:

const IndexPage = () => {
  return (
    <Router>
      <Home path="/"/>
      <Login path="/login" />
      <Content path="/content" />
    </Router>
  )
}

export default IndexPage

and in gatsby-node.js:

exports.onCreatePage = ({ page, actions }) => {
  const { createPage } = actions
  if (page.path === `/`) {
    page.matchPath = `/*`
    createPage(page)
  }
}

Restart gatsby develop索引页面将处理您设置的路线。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将所有路由重定向到 gatsby 索引 的相关文章

随机推荐

  • 更改大表中的mysql字段名称

    我有一个包含 2100 万行的表 我必须更改其中一个行名称 当我尝试使用查询 alter table company change id new id int 11 时 查询永远不会结束 有没有简单的方法来更改大mysql表字段名称 首先
  • Excel:查找数组中的最后一个值

    我有一个数据集 gt A b c d AA BB gt 1 2 3 4 gt apple apple apple gt orange pear pear apple pear gt grapefruit grape grape grape
  • Eclipse 在 Ubuntu 14.04 中无法启动

    我尝试在 Ubuntu 14 04 中启动 Eclipse 时遇到问题 启动图片弹出 然后闪烁 变成白色 直到王国来临之前什么也没有发生 我尝试过 Luna Kepler 和 3 8 来自 Ubuntu 存储库 EE 和 SE 版本 两者相
  • Service Worker 可以缓存 POST 请求吗?

    我尝试在 fetch 事件的服务工作人员中缓存 POST 请求 I used cache put event request response 但返回的承诺被拒绝TypeError Invalid request method POST 当
  • 如何在打印语句中使用零填充标志精确打印两个位置

    如果想使用零垫进行此方法打印 你该怎么做 int month day public void printNumeric System out printf month day n i would like the month if it i
  • Tkinter ttk 查看自定义主题设置

    使用后ttk Style theme create name settings 可以看到该主题的设置吗 我问的原因是当我创建一个新主题并添加ttk Notebook root 对于我的代码 选项卡有圆角 这是我不想要的 这是一个例子 imp
  • 通过引用传递给构造函数

    我决定看看为成员分配引用是否会使成员成为引用 我编写了以下代码片段来测试它 有一个简单的类Wrapper与std string作为成员变量 我采取采取const string 在构造函数中并将其分配给公共成员变量 后来在main 方法我修改
  • Sublime Text 3 Windows 使用 Alt 选择列?

    Shift right click feels unintuitive to me How can I tell ST3 to allow Alt drag to do column selection like in many other
  • 为什么要重写 DTO 中的 toString 方法

    我看到大多数时候在DTO对象中 toString 方法实际上被重写了 例如 public class Person implements Serializable private String firstName private Strin
  • 使用 wc_price 过滤器挂钩向产品价格添加其他货币

    根据我原来帖子的答案使用时遇到格式不正确的数值wc priceWooCommerce 挂钩 https stackoverflow com questions 66084833 a non well formed numeric value
  • 学C要多长时间? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • Fallocate 和 ftruncate 之间有什么区别

    根据我的测试 他们都可以改变文件大小 为什么他们都可以将文件变大或变短 Fallocate 和 ftruncate 和有什么区别 ftruncate是一个简单的 单一用途的函数 根据 POSIX 文档 http pubs opengroup
  • 汇编程序中的寻址

    有件事我无法消化 我正在学习一些汇编程序 现在我正在学习寻址章节 我理解用于解除引用的括号的概念 但不知怎的 当我看到它的用法时 我就是无法理解它的要点 更准确地说 我的困惑是从这里开始的 mov al L1 在这里 我假设 L1 作为示例
  • 由于事务之间的读/写依赖关系,无法序列化访问

    我最终成功地重现了序列化问题这个问题 https stackoverflow com q 21706858 274677到 SSCCE 最短的独立完整示例 我正在使用jdbc and java标签 尽管我相信这不是 Java 或 JDBC
  • 如果查询中没有这样的键,如何关闭AWS连接

    我正在使用 AWS java SDK 将文件上传到 AWS 管理控制台的存储桶上 但是 如果当我第一次尝试访问该文件时在线上没有这样的文件 我的代码将捕获异常 NoSuchKey 然后我想关闭连接 问题是我没有任何引用来关闭该连接 因为异常
  • PySpark 中内存高效的笛卡尔连接

    我有一个大型字符串 id 数据集 可以放入 Spark 集群中单个节点的内存中 问题是它消耗了单个节点的大部分内存 这些 ID 的长度约为 30 个字符 例如 ids O2LWk4MAbcrOCWo3IVM0GInelSXfcG HbDck
  • 如何从 nuxtjs 服务器中间件获取 POST 数据?

    如何从 nuxtjs 服务器中间件获取 POST 数据 到目前为止 我已经成功地为 GET 做到了这一点 但对于 POST 来说 正文不存在 req body未定义 将其添加到nuxt config js serverMiddleware
  • IPython 笔记本到幻灯片:Reveal 未定义

    我正在使用 nbconvert 从我的笔记本制作一个 Reveal js 幻灯片 具体来说 我正在运行 ipython nbconvert to slides analysis ipynb 这将创建 analysis slides html
  • 发送带有数据库的应用程序

    如果您的应用程序需要数据库并且它带有内置数据 那么发布该应用程序的最佳方式是什么 我是不是该 预先创建 SQLite 数据库并将其包含在 apk 在应用程序中包含 SQL 命令并让它创建数据库并在首次使用时插入数据 我看到的缺点是 可能的
  • 如何将所有路由重定向到 gatsby 索引

    我正在尝试创建一个只有一页来处理所有路线的 Gatsby 项目 我有这样的索引页面 const App gt return