在 Express.js 中使用 GraphQL:一份完整的教程

阅读时长 4 分钟读完

GraphQL 是一种用于 API 的查询语言,它让我们能够更加精确地请求我们需要的数据。它是由 Facebook 开发的,现在已经成为了前端开发的一项热门技术。在本教程中,我们将学习如何在 Express.js 中使用 GraphQL。

准备工作

在开始之前,我们需要安装一些依赖包。首先,我们需要安装 expressexpress-graphql

然后,我们需要安装 graphql

创建 Express 应用程序

我们将从创建一个基本的 Express 应用程序开始。在你的项目目录下创建一个名为 app.js 的文件,并将以下代码复制到其中:

这将创建一个 Express 应用程序,并在端口 3000 上启动它。现在我们可以通过访问 http://localhost:3000 来检查它是否正常工作。

创建 GraphQL Schema

在使用 GraphQL 之前,我们需要定义一个 schema。schema 定义了我们的数据模型,以及我们可以查询哪些数据。在我们的示例中,我们将创建一个简单的 schema,其中包含一个名为 hello 的字段,它将返回一个字符串。

在你的项目目录下创建一个名为 schema.js 的文件,并将以下代码复制到其中:

-- -------------------- ---- -------
----- - ------------------ -------------- ------------- - - -------------------

----- --------- - --- -------------------
  ----- --------
  ------- -
    ------ -
      ----- --------------
      -------- -- -- ------ -------
    -
  -
---

----- ------ - --- ---------------
  ------ ---------
---

-------------- - -------

这个代码将创建一个名为 Query 的对象类型,并定义了一个名为 hello 的字段。这个字段返回一个字符串,它将在我们通过 GraphQL 查询它时返回。

创建 GraphQL 中间件

现在我们已经定义了我们的 schema,我们需要将它添加到我们的 Express 应用程序中。为此,我们将使用 express-graphql 中间件。在你的 app.js 文件中添加以下代码:

这个代码将为我们的应用程序添加一个 GraphQL 中间件。我们将使用 schema 变量来定义我们的 schema,graphiql 参数将启用 GraphiQL,这是一个用于测试和调试 GraphQL 查询的工具。现在我们可以通过访问 http://localhost:3000/graphql 来访问 GraphiQL。

测试 GraphQL 查询

现在我们已经完成了所有的设置工作,我们可以开始编写我们的第一个 GraphQL 查询了。在 GraphiQL 中,尝试以下查询:

这将返回一个包含 Hello world! 的字符串。这是我们在我们的 schema 中定义的 hello 字段的返回值。

结论

通过这个简单的示例,我们已经学习了如何在 Express.js 中使用 GraphQL。现在你可以开始使用 GraphQL 来构建更加强大和灵活的 API 了。如果你想深入学习 GraphQL,可以查看官方文档,其中包含了更多高级的用法和示例代码。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6755784d3af3f99efe4d600e

纠错
反馈