npm 包 graphql-schema-comparator 使用教程

GraphQL 是一种让前端和后端都十分喜爱的查询语言。如果你在前端上使用 GraphQL,那么你一定会涉及到 Schema。Schema 是定义 GraphQL 查询语句的结构的一种语言。然而,Schema 随着业务的变化而变化,这就带来了一系列的问题:如何记录 Schema 的变化?如何在迭代的过程中保证不出错?如何管理变化的历史?解决这些问题的一个良好的解决方案是使用 graphql-schema-comparator 这个 npm 库。

1. 安装

使用 npm 安装 graphql-schema-comparator。

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

2. 比较 schema

将两个 schemas 分别存放在文件中,然后使用下面的命令来比较它们:

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

比较结果会展示出两个 schemas 的差异。

3. 自动化

如果你需要在你的自动化测试中使用 graphql-schema-comparator,你可以使用以下的代码:

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

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

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

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

这个代码会比较两个文件 old_schema.graphqlnew_schema.graphql 中的 schemas,如果在新的 schema 中有破坏性变化,则会打印出错误并退出。

4. 结论

graphql-schema-comparator 并不是解决 schema 变更的唯一方式,但是是一个非常好的、易于使用的 npm 库。它可以帮助开发人员在变更时保证好的生产力和代码质量,同时也可以保持一个健康的 schema 历史。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/60066b5851ab1864dac66e18


猜你喜欢

  • npm 包 diagram-js-jl-direct-editing 使用教程

    前言 在前端开发中,我们常常需要使用图形组件来展示各种信息。而 diagram-js-jl-direct-editing 是一个强大的工具,它可以使我们更加高效地开发和管理各种图形组件。

    3 年前
  • npm 包 copy-translator 使用教程

    在前端开发中,经常需要进行字符串的复制和翻译工作。这时候,copy-translator 就是一个非常有用的工具。本文将为大家介绍如何使用 npm 包 copy-translator 进行字符串的复制...

    3 年前
  • npm 包 mage-vaulthelper-mysql 使用教程

    简介 npm 包 mage-vaulthelper-mysql 是一款使用 Node.js 编写的轻量级数据库工具库,该库主要用于在 Node.js 应用中方便地使用 MySQL 数据库。

    3 年前
  • npm 包 staryi 使用教程

    在前端开发中,大量的工具和框架已经被广泛使用并且受到了良好的评价和推广,其中很多的依赖库都是通过 npm 进行安装和升级的,而 staryi 也是其中一个 npm 包,它提供了一些非常方便的工具来帮助...

    3 年前
  • npm包@xcredits/xcredits-core使用教程

    概述 @xcredits/xcredits-core是一款前端库,用于轻松地实现信用积分系统。该库提供了可配置的接口和方法,以及通用的信用计算方法,可以用于创建多种不同类型的信用积分系统。

    3 年前
  • npm 包 @polyrithm/ngen 使用教程

    前言 在前端开发中,经常需要生成一些随机数据来进行测试或者演示。手动写一些数据对于开发者来说是非常麻烦的,因此,一些开源的 npm 包也就应运而生了。在这篇文章中,我们将会介绍一款名为 @polyri...

    3 年前
  • npm 包 os-information 使用教程

    前端开发过程中,获取操作系统信息是一个非常常见的需求。今天,我们介绍一个非常实用的 npm 包:os-information。该包可以帮助开发者获取有关计算机操作系统的有用信息,例如操作系统名称、版本...

    3 年前
  • npm包cwtools使用教程

    介绍 cwtools 是一个适用于前端开发的小型工具库。它包含了一些常用的工具函数和UI组件,如表单验证、弹出框等等。使用 cwtools 工具库可以帮助你更快捷、高效地完成前端开发工作。

    3 年前
  • npm 包 gulp-lru-changed 使用教程

    前言 在前端开发中,我们经常会使用 Gulp 这样的任务自动化工具来提高开发效率。而其中一个重要的功能便是在修改文件后,只对修改的文件进行相应的操作,避免对整个项目进行无谓的重新构建,浪费大量时间。

    3 年前
  • npm 包 merge-configs 使用教程

    在前端开发中,我们常常需要对各种配置文件进行合并,以适应不同环境和需求。而 npm 包 merge-configs 就是一个非常方便且易用的工具,可以帮助我们快速合并各类配置文件,包括 JSON、JS...

    3 年前
  • npm 包 trvrs 使用教程

    trvrs 是一个用于判断 DOM 元素是否在可视区域内的 JavaScript 库,可以用于前端开发中的滚动加载等场景。本文将详细介绍如何使用 trvrs 包,包括安装、基础用法、高级用法和示例代码...

    3 年前
  • npm 包 @arni/scrollnum 使用教程

    介绍 @arni/scrollnum 是一个用于在网站上滚动数字的 npm 包。使用该包,可以在网站中方便地呈现像统计数、计数器等需要在网站上展示动态数字的场景。 本文将介绍该 npm 包的使用方法,...

    3 年前
  • npm 包 @jnv/node-nlp 使用教程

    自然语言处理 (NLP) 是人工智能的重要领域之一,它涉及到对人类语言进行识别、理解和生成,是实现人机交互的核心技术之一。在前端开发中,我们也会涉及到一些基本的 NLP 技术,比如词法分析、情感分析、...

    3 年前
  • npm 包 cresolve 使用教程

    前言 在现代的前端开发中,几乎所有的项目都使用了 npm 包管理工具,它为我们提供了很多易于使用的开发工具和库。但是很多时候我们需要根据当前环境动态判断引入不同的依赖,比如根据不同浏览器引入对应的 p...

    3 年前
  • npm 包 nk-ngx-bootstrap 使用教程

    nk-ngx-bootstrap 是一个基于 Angular 框架的 Bootstrap UI 组件库。它提供了一系列常用的 UI 组件,如模态框、下拉菜单、表格等,并能够与 Angular 的表单模...

    3 年前
  • npm包ref-loader使用教程

    在前端开发中,我们不仅仅会使用JavaScript进行开发,还需要使用CSS、Less、Sass等技术进行代码编写。而这些技术的代码间常常需要相互引用,因此对于开发效率和代码维护来说,模块化已经成为了...

    3 年前
  • npm 包 vue-nocaptcha 使用教程

    前言 随着互联网的发展,网站的风险也越来越严重。为了解决安全问题,很多网站采用了验证码技术,其中腾讯防水墙的智能无感知验证码更是受到了广泛的关注。而本文要讲的是如何使用 npm 包 vue-nocap...

    3 年前
  • npm 包 shopware-api-client 使用教程

    介绍 shopware-api-client 是一个通过 JavaScript 与 Shopware 6 API 进行交互的 npm 包。它封装了 Shopware 6 API,并提供了更加友好的 A...

    3 年前
  • npm 包 eslint-config-package 使用教程

    在 JavaScript 开发中,代码规范是一个非常重要的话题。它可以让代码更加统一、易于维护和升级。而 eslint-config-package 是一个能够规范 JavaScript 代码规范的 ...

    3 年前
  • NPM 包 enzyme-react-adapter-future-future 使用教程

    简介 enzyme-react-adapter-future-future 是一个 React 测试工具 Enzyme 的适配器,用于兼容 React 未来版本。此适配器通过模拟未来版本的 React...

    3 年前

相关推荐

    暂无文章