npm 包 apollo-server-express 使用教程

阅读时长 4 分钟读完

简介

npm 包 apollo-server-express 是一个基于 GraphQL 的 Server 端开发框架,在 Express 应用中实现 GraphQL Server。功能强大,易于使用,支持多种数据源。本文将详细介绍 npm 包 apollo-server-express 的使用方法,并提供示例代码。

安装

使用 npm 安装 apollo-server-express:

初始化应用

首先,我们需要在 Express 应用中初始化 apollo-server-express:

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

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

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

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

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

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

定义数据源

为了让 apollo-server-express 更好地支持你的数据源,你需要定义数据源所需的数据类型。下面的例子是一个使用 MongoDB 数据库的数据源:

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

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

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

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

路由和 GraphQL Queries

Apollo Server 通过 HTTP POST 请求 GraphQL Queries。在 apollo-server-express 中集成了 GraphQL Playground,可以用来测试 GraphQL Queries。

在 Express 应用中,需要定义一个路由处理 HTTP POST 请求,如下所示:

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

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

然后,你就可以使用 GraphQL Playground 来测试你的 GraphQL Queries 了。

结语

总结一下,本文介绍了如何使用 npm 包 apollo-server-express,包括应用初始化、数据源定义、路由和 GraphQL Queries 的使用方法。希望能对前端开发者学习和使用 apollo-server-express 有所帮助。完整示例代码可以在 GitHub 上找到。

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

纠错
反馈

纠错反馈