npm 包 apollo-server-koa 使用教程

阅读时长 3 分钟读完

前言

随着前端技术的发展,越来越多的项目开始采用前后端分离的架构,前端部分独立出来,变成了一个单独的项目,这些项目的核心就是一些接口。前端项目需要通过这些接口与后端进行通信从而得到必要的数据。

graphql是一种新型的数据查询语言,可以满足前端项目查询数据的各种需求。而apollo-server-koa作为一个强大的graphql服务器,可以帮助我们更快、更好地建立graphql服务器,提供良好的开发体验。

在本篇文章中,我们会介绍如何使用npm包apollo-server-koa来实现一个graphql服务器。

apollo-server-koa简介

apollo-server-koa是apollo-server的一个koa中间件库,可以将graphql服务器挂在koa应用程序的子路径下。同时,这个库支持以下特性:

  • 支持GraphQL Playground,能够在Playground界面上执行查询操作;
  • 支持扩展类型、数据源并生成schema;
  • 支持Apollo Server的所有特性。

安装

我们可以使用npm来安装apollo-server-koa:

接下来我们可以在koa的应用程序中使用apollo-server-koa。

使用

我们需要在koa的应用程序代码中引入apollo-server-koa,然后使用它来创建graphql服务器。

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

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

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

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

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

---------------- -- -- -
  ------------------- -- --------- -- --------------------------------
---
展开代码

使用apollo-server-koa创建graphql服务器需要两个参数:typeDefs和resolvers。

在typeDefs中,我们定义了一个Query类型,它包含了一个hello字段,返回字符串类型的数据。

在resolvers中,我们编写了一个hello resolver,它接收一个参数并返回'Hello world!'字符串。

最后我们使用Koa创建了一个应用程序实例,调用server.applyMiddleware({ app })将graphql服务器挂在到这个实例上。

调试

访问http://localhost:3000/graphql 将看到Apollo Server的Playground。

在查询编辑器中输入以下查询:

点击运行按钮,我们将在结果面板中看到结果:

总结

通过npm包apollo-server-koa,我们可以很方便的实现一个graphql服务器,提供数据查询服务。当然,以上只是一个简单的例子,我们可以根据自己的项目需求,编写定制化的解析器和数据接口,来满足自己的查询需求。希望这篇文章对使用apollo-server-koa的开发者能够有所帮助。

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