2. 项目设置
5m

概述

让我们开始设置项目!在本课程中,我们将扮演使用构建名为 FlyBy 的应用程序的 的后台开发人员。

但首先,让我们想象一下,我们已被传送到了遥远的未来,在那里每个人都可以为了娱乐和冒险而穿越银河系……这就是 FlyBy 的用武之地。

在本课中,我们将

  • 探索 FlyBy 的功能,它是本课程的演示应用程序
  • 设置 FlyBy 启动代码

您将构建的内容:FlyBy

FlyBy 是一款 Web 应用程序,允许用户查看他们在星际旅行中访问过的地方。他们可以浏览其他太空旅行者访问过的所有地点的列表,查看每个地点的详细信息和评论,以及提交自己的评论。

想要预览?您可以浏览FlyBy 应用程序的最终版本

https://odyssey-flyby.netlify.app

像大多数应用程序一样,FlyBy 从小开始。但通过从一开始就使用 架构,我们可以随着应用程序和组织的必然增长而扩展 FlyBy 图。

为了构建 FlyBy ,我们将:

  • 发布两个 locationsreviews(第 4-6 课)
  • 设置 (第 7-8 课)
  • 更新 以在它们之间共享类型(第 9-14 课)
  • 查看所有内容如何与前端整合(第 14 课)

让我们开始吧!

先决条件

FlyBy 在后端使用 Node.js,在前端使用 React。我们建议使用最新的 Node LTS 版本。要检查您的 Node 版本,请运行 node -v

您还需要熟悉以下内容

  • 在终端中运行命令,例如在目录之间导航。
  • 基本的 JavaScript 语法,包括编写函数和解构对象。
  • 和 Apollo 基础知识,例如如何定义模式、构建 函数以及编写 GraphQL 。(需要复习吗?请查看 奥德赛升空系列!)

✏️ 克隆仓库

注意:当您看到以 ✏️ 表情符号开头的标题时,这意味着它包含一些需要您完成的工作!

  1. 在您选择的目录中打开您喜欢的终端。

  2. 通过运行以下命令克隆 FlyBy 启动代码仓库

    git clone https://github.com/apollographql/odyssey-voyage-I
  3. 在您喜欢的 IDE 中打开仓库。(我们使用 VS Code。)

任务!

项目结构

FlyBy 仓库包含一个全栈应用程序,前端位于 client/ 目录中,后端则分为三个服务器目录。每个服务器都在不同的端口上运行,因此您可以在本地机器上进行开发时同时运行它们。

在本课程中,我们将完全专注于服务器端代码。(客户端代码已经为您开发好了,因此您无需更改它。)

服务器的划分如下

服务器端口描述
路由器4000路由器(客户端向其发送 GraphQL 请求的服务器)的后端代码。
subgraph-locations4001locations 子图的后端代码。
subgraph-reviews4002reviews 子图的后端代码。

注意:在本课程中,我们的 和我们的 都位于同一个仓库中。但在生产应用程序中,它们可以被拆分,以便每个 获取自己的仓库。

启动代码还包含一个 final/ 目录,其中包含课程结束时我们 的最终状态。随时将其用作参考!

✏️ 安装项目依赖项

为了完成启动代码的设置,请为每个 安装项目依赖项。

  1. 从命令行中,更改目录到 subgraph-locations 目录,并运行 npm install

  2. 更改目录到 subgraph-reviews 目录,然后再次运行 npm install

任务!

现在不用担心 router 目录。我们将在接下来的课程中讨论如何设置这部分内容。

✏️ Apollo GraphOS 设置

本课程使用 托管联邦,这意味着 FlyBy 使用 来处理对我们 的更新。(关于这方面的更多信息将在本课程的后面介绍!)

要使用 ,我们需要拥有一个 Apollo GraphOS 帐户,并拥有一个

如果您所在组织使用的是其他计划,您仍然可以跟着做,但无法完成某些动手练习。您也可以通过 注册免费企业版试用 来测试此功能。

任务!

✏️ Rover 设置

是一个命令行界面 (CLI) 工具,可帮助开发人员使用 并与 交互。它是一个方便且用途广泛的工具,可用于本地开发和 CI/CD。我们可以使用它来运行检查、将模式发布到模式注册表等等。

安装 Rover

  1. 打开终端并运行适合您计算机环境的安装命令

    对于 Linux / Mac OS

    curl -sSL https://rover.apollo.dev/nix/latest | sh

    对于 Windows PowerShell 安装程序

    iwr 'https://rover.apollo.dev/win/latest' | iex
  2. 通过在终端的任何位置运行 rover 来验证安装是否成功。

  3. 如果它输出使用 的选项和子命令列表,那就太好了!CLI 已安装并可以使用。

认证 Rover

我们需要一个 API 密钥来认证 !因为我们现在是在本地工作,所以我们将使用一个 个人 API 密钥。(还有另一种类型的 API 密钥,称为 ,用于 CI/CD 环境,我们稍后会介绍!)

  1. 在 Studio 中,点击右上角的个人资料图片,然后点击 个人设置

  2. 点击 API 密钥

  3. 点击 创建新密钥

    https://github.com

    Personal API Key generated in Studio

  4. 给它起一个名字,比如 "本地开发"。

  5. 复制你的密钥——你将无法再次看到它!

  6. 在终端中,运行

    rover config auth

    然后粘贴你的 API 密钥。

  7. 要检查它是否正常工作,请运行

    rover config whoami

    你应该会看到你的个人资料信息显示出来。大功告成!

任务!

下一步

在下一部分中,我们将与前端团队联系,更深入地了解 FlyBy 的数据需求。

上一步

分享你对本课程的疑问和评论

你的反馈有助于我们改进!如果你遇到问题或困惑,请告诉我们,我们会帮助你。所有评论都是公开的,必须遵守 Apollo 行为准则。请注意,已解决或已处理的评论可能会被删除。

你需要一个 GitHub 帐户才能在下面发布。没有帐户? 请在我们的 Odyssey 论坛中发布。