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

什么是 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


猜你喜欢

  • npm 包 generate-d8-theme 使用教程

    简介 generate-d8-theme 是一个npm包,用于自动化生成 Drupal 8 主题的结构和基本文件。该包使用 Yeoman 和 gulp 来进行自动化流程,使得开发者可以快速地搭建一个具...

    2 年前
  • npm 包 koto-parser 使用教程

    介绍 Koto-parser 是一个 JavaScript 的 npm 包,用于解析 Koto 语言。 koto 语言是一种基于 Python 的编程语言,它目前是由 Koto 开发团队在维护和推广。

    2 年前
  • npm 包 resting-react 使用教程

    在前端开发中,我们往往需要使用到 RESTful API 来请求后端的数据。为了更方便地调用这些 API,我们可以使用一个名为 resting-react 的 npm 包。

    2 年前
  • npm 包 babel-plugin-strip-module 使用教程

    在前端开发中,经常需要使用各种 npm 包来优化开发体验和提高效率。其中一个重要的 npm 包是 babel,它可以将 ES6 或者以上的代码转换成 ES5 以及以上版本,以兼容不同的浏览器。

    2 年前
  • npm 包 ember-yebo-lists 使用教程

    在前端开发中,经常需要使用各种第三方库来实现一些功能。其中,npm 是一个非常常用的包管理工具,它提供了大量的模块供我们使用,使我们开发工作变得更加高效。在这篇文章中,我们将介绍如何使用一个名为 em...

    2 年前
  • npm 包 Flyd-Mergeall 使用教程

    前言 在前端开发中,我们经常需要对多个流进行操作,比如将多个可观测对象 (Observables) 绑定在一起,从而组合操作。此时,我们可以使用 flyd-mergeall 这个 npm 包来轻松地完...

    2 年前
  • npm 包 hazdev-cache-invalidator 使用教程

    在前端开发中,缓存是一个非常重要的概念。缓存可以帮助我们提高页面的加载速度和响应速度,但同时也可能导致缓存过期或者缓存内容不正确的问题。这时候,我们需要一个有效的工具来清除缓存。

    2 年前
  • npm 包 ng-http-cache 使用教程

    在前端开发中,我们通常需要从后端获取数据。然而,由于网络请求的不稳定性和服务器的响应速度,这些数据的获取可能会非常缓慢。为了解决这个问题,通常会使用一些本地缓存技术,使得数据可以更快速地被获取和加载。

    2 年前
  • npm 包 react-audio-visualizer 使用教程

    介绍 React-audio-visualizer 是一款基于 React 的音频可视化组件,可以用于展现音乐的频谱等效果,适用于各类音频播放场景。本篇文章将介绍如何使用该组件以及相关注意事项。

    2 年前
  • npm 包 torrero-server-stats-storage 使用教程

    在前端开发过程中,使用 npm 包是非常常见的,可以帮助我们更高效地完成项目开发。其中一个有用的 npm 包就是 torrero-server-stats-storage,它能够在本地存储应用程序的统...

    2 年前
  • 使用 andersen-ng2-grid-fork 打造前端数据表格

    在前端开发中,数据表格是很常见的组件,而 andersen-ng2-grid-fork 就是一个用 Angular 2 实现的开源表格组件,它支持各种常见的表格功能,比如排序、分页、过滤、单元格编辑等...

    2 年前
  • npm 包 watch-helper 使用教程

    随着前端技术的发展和进步,项目越来越复杂,代码量也在不断增加,代码变更的频率也随之增加。而手动观察项目中某些文件的变化并非一项好的解决方式。为此,我们可以使用 watch-helper 来帮助我们监控...

    2 年前
  • npm 包 ws-task-stream 使用教程

    npm 包 ws-task-stream 使用教程 前言 随着前端技术的飞速发展,前端开发的工作量越来越大,功能也越来越复杂。在这个过程中,我们需要一些工具来帮助我们提高效率,简化流程。

    2 年前
  • npm包isio使用教程

    什么是isio? isio是一个轻量级的JavaScript库,用于检测变量的数据类型。它可以用于前后端开发,不仅可以进行严格的类型检查,还可以进行宽松的类型检查和特定类型的检查。

    2 年前
  • npm 包 rabbitmq-pub-sub 使用教程

    什么是 RabbitMQ ? RabbitMQ 是一个高性能的开源消息队列系统。它可以接收和路由消息,并且分发到不同的消费者。RabbitMQ 支持多种消息传输协议,包括 AMQP、STOMP、MQT...

    2 年前
  • npm 包 nutty-logfile 使用教程

    什么是 nutty-logfile? nutty-logfile 是一个基于 Node.js 的 npm 包,提供了一种轻量级的日志记录方式。它非常易于集成并使用,在日志记录方面提供了出色的灵活性和可...

    2 年前
  • npm 包 restify-ad-auth 使用教程

    前言 最近维护一个内部系统的时候,需要让所有请求都需要经过验证和授权,于是选择了 restify 这个轻量级的 Node.js RESTful Web Services 框架,它的开发简单且性能较好,...

    2 年前
  • npm 包 gulp-tale-jade 使用教程

    1. 简介 gulp-tale-jade 是一个基于 gulp 的 npm 包,用于将 Jade 模板语言编译成 HTML 文件。使用它可以大大提高前端开发效率,特别适用于具备一定 Web 前端开发经...

    2 年前
  • npm 包 creator-js-client 使用教程

    近年来,前端技术日新月异,npm 库成为了前端开发者的必备工具。而其中,creator-js-client 可以说是广泛应用的一个 npm 包,本文将为大家介绍该包的使用教程。

    2 年前
  • npm 包 Jerkyll 使用教程

    什么是 Jerkyll? Jerkyll 是一个静态网站生成器,可以用来创建博客、文档等静态网站。它使用 Markdown 或 HTML 作为内容输入,生成静态网站。

    2 年前

相关推荐

    暂无文章