如何使用 React 和 GraphQL 构建一个简单的博客

如何使用 React 和 GraphQL 构建一个简单的博客

原文:https://medium.com/hackernoon/how-to-build-a-simple-blog-using-react-and-graphql-e32d78bbd724

在本教程中,我将向你展示如何使用 React、 GraphQLCosmic JS 创建一个简单的博客。这将是基于现代技术构建的最快、最轻量级的博客。让我们开始吧。

TL;速度三角形定位法(dead reckoning)

查看演示 在 Cosmic JS 上安装简单的 React 博客 在 GitHub 上查看代码库

入门指南

确保你的机器上安装了 Node.js 和 NPM,如果没有,访问 Node.js 网站安装最新版本。

让我们首先为我们的应用程序创建一个文件夹。在您喜欢的终端中运行以下命令:

mkdir simple-react-blog
cd simple-react-blog

现在,让我们添加一个 package.json 文件来导入应用程序的所有依赖项:

vim package.json

将以下内容添加到我们的 package.json 文件中:

对于一个非常轻的应用程序来说,这是一个非常轻的依赖列表。因此,我们将安装的是:

  1. Axios 让我们基于 promise 的 HTTP 客户端从 Cosmic JS GraphQL API 获取内容。 2。 Next.js 作为我们 React 通用框架。 3。下一条路线为动态路线。 4。 Express 为我们的服务器端 web app 框架。 5。对我们的用户界面做出反应。

我们的脚本是在生产和开发中启动我们的应用程序所必需的。

运行以下命令来安装我们的依赖项:

npm i

建立我们的博客

接下来,让我们开始构建我们的博客页面。创建一个 pages 文件夹并添加 index.js 文件:

vim index.js

并将以下内容添加到 index.js 中:

这里发生了一些事情:

1.我们正在导入我们的基本模块:Axios、Lodash 以及其他助手和组件。 2。我们引入了一些部分:页眉和页脚,你可以从 GitHub 的代码库中引用这些部分。 3。我们查询 Cosmic JS GraphQL API 只返回我们需要的东西:_id、type_slug、slug、title、metadata 和 created_at。 4。我们将组件中的主要道具设置为“宇宙”物体。并使用 lodash 解析帖子和全局对象类型。 5。我们将帖子数组数据和图片 URL 返回到我们的主博客提要中。

单帖子查询

对于我们的单个帖子,我们在道具中添加了一个“post”属性。通过将 query.slug 与 Object slug 进行匹配来找到 Post:

查看 GitHub 上的完整文件。

结论

这是简单反应博客的节略版,可以在宇宙 JS 应用页面下载。完整的代码库包括一个帖子页面视图,以及一个专门用于每个作者帖子的页面。查看 GitHub 上的完整代码库并通过将应用安装到您的 Cosmic JS 桶中,在您的 Cosmic JS 仪表板上点击几下即可部署该应用。Cosmic JS 为你所有的 React 应用程序提供了一个很棒的 React CMS。

我希望你喜欢这个教程,如果你有任何问题在 Twitter 上联系我们加入我们的 Slack 社区


本站为非盈利网站,作品由网友提供上传,如无意中有侵犯您的版权,请联系删除