npm 包 graphql-up 使用教程

阅读时长 5 分钟读完

GraphQL 是一种用于 API 构建协议的查询语言,它提供了对 API 数据的强大且灵活的查询方式,同时附带了强大的类型系统,让我们能够以更高的效率和精准度完成开发工作。graphql-up 是一个方便的 npm 包,能够帮助我们将 GraphQL schema(模式)上传至 apollo server,接下来我们就来深入了解一下如何使用 graphql-up。

安装

使用 npm 安装:

graphql-up 需要 node.js 环境,默认使用的是你的命令行最新的版本。同时,在通过命令行上传 schema 版本时,你的命令行需要联网。

使用

graphql-up 主要是两个命令行工具,它们分别是 initpush。从字面上能够看出它们分别对应了两个操作:初始化工具和上传 schema 到云服务器。

初始化 schema

在对 schema 进行操作之前,我们需要将当前项目初始化为一个带有 schema 结构的 graphql 项目。

在初始化阶段,程序会引导你创建一个可编辑文件,你可以直接关闭编辑器回车跳过,将使用默认配置。否则,你可以手动进入工具所生成的项目结构,进行各种自定义配置,例如 schema 定义位置, endpoint 地址等。具体可参见初始化建议部分。

上传 schema

在你的项目配置完成之后,你可以使用 push 命令直接将 schema 上传至云服务器。

输入命令后,系统会自动进行 schema 的检查,根据检查结果为你提供修改意见,保证上传的 schema 结构正确无误。在修正后,你就可以预览当前 schema 文件,确认无误后将你的 schema 推送至云服务器。具体可参见上传建议部分。

初始化建议

在初始化之前,我们需要对开发环境进行一些调整以适应 graphql-up 的工作方式。

目录结构

使用 graphql-up 要求项目中必须包含 schema 文件,因此,我们建议创建如下的目录结构:

package.json 配置

在 package.json 中添加以下配置:

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

在 tsconfig.json 中添加:

schema 配置

在你的 schema 文件中,需包含基础的 schema 定义信息,例如 type Query,type Mutation 等。

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

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

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

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

在你的 schema 文件夹下,可以另外定义查询或者变异:

endpoint 配置

endpoint 是允许用户定义的云服务器地址,通常存在于 .env 配置文件中。

上传建议

在上传 schema 之前,你需要确定以下信息:

  • endpoint 地址(如 https://graphql.example.com/graphql
  • 你的 engine api key

将一个包含 schema 代码的文件夹上载到 apollo server 中:

总结

使用 graphql-up 走向 GraphQL 的道路就不再是路上行人,而是跳跃挑战,因为 graphql-up 快捷高效的上手能力使我们可以省去很多配置繁琐的步骤,让我们更加专注业务本身。希望这篇文章能对你在接下来的工作中有所帮助。

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

纠错
反馈