前言
graphql-yoga是一个基于express和graphql的web服务器,并提供了很多有用的工具和默认配置,使开发人员能够更快地快速创建和部署GraphQL API服务。它还具有实时查询、API文档等功能,可以优化前端工作流。在本文中,我们将重点介绍如何使用npm包@jokio/graphql-yoga来搭建GraphQL服务器。
安装
使用以下命令安装 @jokio/graphql-yoga npm包:
npm install @jokio/graphql-yoga
开始使用
我们将创建一个简单的Web应用程序,使用 GraphQL 查询从数据库中获取数据并向客户端发送响应。
创建一个GraphQL查询
首先,我们需要创建一个用于查询数据的GraphQL查询。在这个例子中,我们将查询书籍的数据。
-- -------------------- ---- ------- ----- -------- - - ---- ---- - --- --- ------ ------- ------- ------- - ---- ----- - -------- ----- ---- --------- -------- - --
实现GraphQL查询
接下来,我们需要实现 book
和 allBooks
这两个查询。
-- -------------------- ---- ------- ----- --------- - - ------ - ----- -------- - -- -- -- - ----- ---- - ----------------- -- ------- --- ---- -- ------- - ----- --- --------- ---- ----- --- -- -------- - ------ ----- -- --------- -- -- ------ -- --
上面的代码中,我们使用了 books
数组来表示存储在数据库中的所有书籍数据。我们实现了两个查询:book
和 allBooks
。
book
查询的参数是一个 id
,返回一个单独的对象;allBooks
查询返回一个对象数组。
创建GraphQL服务器
我们已经定义了GraphQL查询及其实现结果。现在,我们要创建GraphQL服务器,并将查询和处理程序映射到GraphQL schema。
import { GraphQLServer } from '@jokio/graphql-yoga'; const server = new GraphQLServer({ typeDefs, resolvers }); server.start(() => console.log('Server is running on http://localhost:4000'));
我们使用导入的 GraphQLServer
函数创建服务器,并将 typeDefs
和 resolvers
分别传递给构造函数。
测试GraphQL查询
我们现在已经完成了GraphQL服务器的搭建。我们可以在本地测试服务器,看看我们的查询是否按预期工作。
我们可以通过设置graphql-yoga库请求结构来实现查询。最简单的方法是使用GraphQL Playground,它是GraphQL开发中最常用的调试工具之一。
打开浏览器,输入localhost:4000
,即可进入GraphQL Playground。
通过以下代码可以查询所有书籍:
query { allBooks { id title author } }
我们还可以查询单个书籍数据:
query { book(id: "1") { id title author } }
至此,我们已经成功地使用 @jokio/graphql-yoga npm包创建了GraphQL服务器。
结论
此次使用 @jokio/graphql-yoga 构建GraphQL服务器的过程,需要从创建GraphQL查询开始,并实现GraphQL服务器和查询。最后通过GraphQL Playground来测试服务器的查询。
如果您的项目中使用GraphQL,我们鼓励您把 @jokio/graphql-yoga库作为一个快速搭建GraphQL服务器的工具。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60066bc4967216659e2442d0