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

阅读时长 4 分钟读完

在前端开发中,GraphQL 已经成为了一个非常流行的查询语言。为了更加方便的使用和管理 GraphQL,@graphql-codegen/cli 这个 npm 包应运而生。本文旨在介绍如何使用 @graphql-codegen/cli 包生成 GraphQL 代码,以及该包的学习和指导意义。

什么是 @graphql-codegen/cli 包?

@graphql-codegen/cli 是一个可用于自动生成 GraphQL 代码的命令行接口工具。它具有很多功能,比如可以生成 typescript、javascript、flow 等语言的 GraphQL 类型定义、客户端查询等代码,还能够根据 GraphQL 查询生成相应的 react hooks 代码,方便前端开发者快速便捷的使用 GraphQL。

如何使用 @graphql-codegen/cli 包?

为了使用 @graphql-codegen/cli 包,我们需要先通过 npm 进行安装。打开命令行工具,进入项目目录并输入以下命令:

安装完成后,我们还需要配置一个 YAML 或 JSON 格式的配置文件,告诉 @graphql-codegen/cli 包如何生成我们需要的代码。比如我们可以创建一个 codegen.yml 文件,输入以下内容:

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

解释一下这些配置项的作用:

  • schema: 指定 GraphQL 服务的地址,该地址可以是本地的或线上的 GraphQL 服务。
  • documents: 指定包含 GraphQL 查询的目录和文件,可以使用通配符。这里我们指定 ./src/**/*.graphql 表示查询文件位于 src 目录的任意子目录下,且后缀为 .graphql
  • generates: 指定代码生成的输出目录和文件,以及所使用的插件。在这个例子中,我们将会生成 graphql.ts 文件,并使用 typescripttypescript-operationstypescript-react-apollo 插件来生成代码。

配置好了 YAML 文件后,我们在命令行中输入以下命令,即可生成我们需要的 GraphQL 代码:

示例代码

在实际应用中,我们可以使用 @graphql-codegen/cli 包生成 typescript 的 GraphQL 代码,并使用 Apollo Client 来获取数据。这里提供一份示例代码:

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

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

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

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

总结

通过学习本文,我们了解了 @graphql-codegen/cli 包的使用方法和配置方式,以及生成 typescript 的 GraphQL 代码的示例。该包可以帮助前端开发者快速便捷的使用 GraphQL,并且可以为我们的项目提供更好的代码管理和维护能力。

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