在Gatsby JS中动态生成路由

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Gatsby JS中动态生成路由相关的知识,希望对你有一定的参考价值。

我正在尝试使用Gatsby JS创建一个复杂的CRUD React应用程序。用户还需要具备“创建帖子”,“编辑帖子”,“删除帖子”的功能。这个应用程序将有很多用户。我们没有使用第三方CMS。一切都将在盖茨比应用程序中完成。还需要有几个不同的页面需要根据选项处理状态,显示和排序不同的帖子。我的问题是,Gatsby JS的这种项目是否超载,因为它打破了页面模型? Gatsby没有本地方式来生成动态路由或视图,只有页面。它是一种社交网络应用程序,Gatsby JS是错误的工具吗?

答案

您可以使用createPages API“动态”创建页面。

https://www.gatsbyjs.org/docs/node-apis/#createPages

还有一系列来自Scott Tolinski的视频,展示了这个API的使用。

但是,GatsbyJS是一个静态静态站点生成器,它专为性能和更多基于内容的站点而设计。您将获得CRUD功能的唯一方法是通过前端的API调用,这可能会产生一些您需要考虑的安全隐患。

作为替代方案,您可能需要查看Next.js。同样的想法,但页面由Express.js提供,而不是仅仅在文件系统上提供服务,因此您可以为更多动态网站提供更多选项。

以上是关于在Gatsby JS中动态生成路由的主要内容,如果未能解决你的问题,请参考以下文章

如何在 gatsby 中创建动态路由

基于Gatsby的React静态化实践

将 Gatsby.js 用于动态和静态 Web 应用程序

Nuxt.js 和内容丰富的网站无法正确生成动态路由

如何在 routes.js 中为生成的菜单项在通用反应 redux 样板中的边栏中实现动态路由,由 erikras

Gatsby `createPage` 正在生成具有相同数据的页面