npm 包 @graphql-codegen/typescript 使用教程

阅读时长 6 分钟读完

在现代化的 JavaScript 应用程序中,GraphQL 已经变得越来越流行。GraphQL 使得前端应用程序从后端可以请求精准的数据,这极大地降低了前端应用程序的复杂性。但是,在使用 GraphQL 进行开发时,我们需要面对一个问题:如何有效地为前端代码生成 GraphQL 的类型定义?

@graphql-codegen/typescript 是一个优秀的 npm 包,能够帮助我们自动从 GraphQL 的 schema 中为 JavaScript 生成 TypeScript 类型定义,因此它成为了开发 GraphQL 应用程序的必备工具之一。

本篇教程将带你入门 @graphql-codegen/typescript 的使用,从安装到使用一步一步教你。最后,我们还将演示一些示例代码,让你更好地理解如何使用它。

安装

首先,你需要安装 @graphql-codegen/typescript 这个 npm 包。你可以使用以下命令来完成这个步骤:

我们还需要保证我们已经安装了 GraphQL 这个包,因为 @graphql-codegen/typescript 包依赖于该包。

配置

随后,我们需要在项目的根目录下创建一个名为 codegen.yml 的文件来配置 @graphql-codegen/typescript。你可以按照以下示例进行配置:

这个配置定义了 GraphQL 的 schema 定义文件和 GraphQL 的操作定义文件的位置,并指定了输出文件的位置与 @graphql-codegen/typescript 所使用的生成器插件。当你在项目中更新你的 schema 或者你项目的 GraphQL 文件时,@graphql-codegen/typescript 将自动地生成并更新你的 TypeScript 类型定义文件。

使用

现在,我们已经完成了 @graphql-codegen/typescript 的安装和配置,接下来我们可以开始使用这个包来生成 TypeScript 的类型定义文件。

首先,我们需要在项目中定义 GraphQL Schema,将其保存到于上文配置文件中指定的位置。@graphql-codegen/typescript 将自动从这个 schema 中生成 TypeScript 的类型定义。

接下来,我们还需要在项目中声明 GraphQL 的操作定义文件。这个文件应该类似于这样:

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

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

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

最后,我们需要执行以下命令:

这个命令将会自动地根据你的 schema 定义文件和操作定义文件获取所有的 GraphQL 的类型定义,并生成必要的 TypeScript 类型定义文件。

示例代码

在下面的代码示例中,我们将展示如何使用 @graphql-codegen/typescript 从一个 GraphQL schema 中生成 TypeScript 类型定义。

先看一下以下的 GraphQL Schema 定义:

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

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

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

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

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

我们使用以下命令来安装和配置 @graphql-codegen/typescript 包:

接下来,我们就可以在项目中声明以下的 GraphQL 操作定义:

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

最后,我们在 TypeScript 中即可使用以下定义的类型进行开发:

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

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

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

总结

本篇文章介绍了 @graphql-codegen/typescript 的安装,配置和使用,这是一个非常实用的 npm 包,可以帮助我们自动生成 TypeScript 类型定义文件,从而方便我们在开发 GraphQL 应用程序时的类型检查和类型指导。希望这篇文章能够对你有所帮助!

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