npm 包 graphql-server-express-propagate-errors 使用教程

阅读时长 7 分钟读完

什么是 graphql-server-express-propagate-errors?

graphql-server-express-propagate-errors 是一个基于 Express 框架的 npm 包。它拥有处理 GraphQL 错误的能力,能够将错误信息传递到 Express 的错误处理程序,以便于调试。同时,它还提供了一些相应的 API,方便我们处理错误信息。

安装

使用 npm 进行安装:

使用步骤

步骤一:引入包

步骤二:定义错误处理程序

步骤三:在 Express 应用中注册错误处理程序

步骤四:使用中间件进行错误传播

API

expressErrorHandler

使用 expressErrorHandler 可以将 GraphQL 的错误信息转化成 Express 的错误对象。这一步骤是为了保证所有 Express 中的错误处理程序可以统一处理错误,而不仅仅是 GraphQL 的错误。

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

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

errorPropagation

errorPropagation 是一个 Express 中间件,用于将 GraphQL 的错误信息传递到 Express 的错误处理程序中。可以在 graphqlHTTP 的 middleware 中使用该中间件。

示例代码

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

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

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

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

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

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

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

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

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

在浏览器中访问 http://localhost:3000/graphql,执行以下 GraphQL 查询:

此时将看到以下结果:

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

如果查看 Node.js 的控制台,也可以看到错误信息被成功地打印出来:

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

结论

graphql-server-express-propagate-errors 带来了很多方便的功能,能够让我们更方便地处理 GraphQL 的错误信息。它的安装和使用也非常简单。现在,你已经学会了如何使用这个 npm 包,从而更方便地在前端开发中使用 GraphQL。

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

纠错
反馈