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