Express.js 中如何使用 GraphQL

GraphQL 是一种用于 API 的查询语言,它提供了一种更高效、更强大的方式来定义和查询数据。在前端开发中,我们经常使用 GraphQL 来获取数据并渲染页面。在本文中,我们将介绍如何在 Express.js 中使用 GraphQL。

安装 GraphQL

要在 Express.js 中使用 GraphQL,我们首先需要安装它。可以使用 npm 来安装 GraphQL:

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

安装完成后,我们就可以在项目中使用 GraphQL 了。

创建 GraphQL Schema

在使用 GraphQL 之前,我们需要定义一个 GraphQL Schema。Schema 是一个描述数据结构的对象,它定义了可查询的字段和类型。在 Express.js 中,我们可以使用 GraphQL.js 来创建 Schema。

下面是一个简单的 GraphQL Schema 示例:

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

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

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

在上面的示例中,我们定义了一个名为 HelloWorld 的对象类型,它有一个名为 message 的字段,该字段返回一个字符串“Hello World!”。resolve 函数用于解析字段的值。

创建 GraphQL Middleware

在 Express.js 中使用 GraphQL,我们需要创建一个 GraphQL Middleware。Middleware 是一个函数,它在请求到达路由处理程序之前执行。在 GraphQL Middleware 中,我们可以将 GraphQL Schema 与路由处理程序连接起来。

下面是一个简单的 GraphQL Middleware 示例:

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

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

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

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

在上面的示例中,我们创建了一个 Express 应用程序,并使用 graphqlHTTP 中间件将 GraphQL Schema 与路由处理程序连接起来。我们使用 /graphql 路径来访问 GraphQL API,并启用了 GraphiQL IDE。

查询数据

现在我们已经创建了 GraphQL Schema 和 Middleware,我们可以使用 GraphQL 查询数据了。在 GraphQL 中,我们可以使用查询语句来获取数据。查询语句由字段和参数组成,它们定义了我们想要获取的数据。

下面是一个简单的 GraphQL 查询示例:

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

在上面的示例中,我们查询了 HelloWorld 对象类型的 message 字段,它将返回“Hello World!”字符串。

结论

在本文中,我们介绍了如何在 Express.js 中使用 GraphQL。我们学习了如何创建 GraphQL Schema 和 Middleware,并使用查询语句来获取数据。GraphQL 提供了一种更高效、更强大的方式来定义和查询数据,它可以帮助我们更轻松地构建复杂的应用程序。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/673d497dbdc541352e36e2ad