1. 教程概览和设置
10m

👋 欢迎使用 Apollo Server 和 TypeScript 的数据加载器!

我们很高兴您来这里!我们将齐心协力,致力于提高我们的 应用程序的性能,重点关注使用 数据加载器 的最佳实践。在解决此主题时,我们有很多亲自动手的机会,您会发现测验和挑战来测试您的理解。当我们学习更多时,您将能够下载可供您使用的可操作演示!

在此教程中,我们将解决 项目中可能出现的难以察觉的性能问题之一: n+1 问题。一旦我们理解了此问题如何发生,我们将使用数据加载器实现解决方案。我们将逐步完成在 TypeScript 项目中实施和使用数据加载器的步骤,并了解它们对我们应用程序性能产生的直接影响。

让我们开始吧!

我们正在建立什么内容

为了探索此主题,我们将基于现有的 应用程序来构建: Airlock

Mockup of Airlock

Airlock 是一款星际旅行预订应用程序:我们可以使用它来找到在广阔的宇宙中逗留的酷炫地方!我们在 GraphQL 课程简介 中构建了此 的基础知识。

但不用担心——您无需完成第一个课程即可开始!我们将为您提供一个全新的仓库进行克隆,并指导您完成启动和运行数据加载器的所有步骤。

让我们准备好一切以便开始构建!

项目设置

要跟随教程,您需要具备以下内容

先决知识

我们假设你已熟悉 的类型、查询以及 等概念。如果你需要复习,请查看我们的 使用 Apollo Server 和 TypeScript 进行 GraphQL 简介课程

你也应熟悉 TypeScript 编程概念

代码编辑器或 IDE

我们使用 VS Code

许多流行的 IDE 都提供支持 语法高亮的插件。对于 VS Code,我们推荐 GraphQL: Syntax Highlighting 扩展

克隆仓库

本课程从 使用 Apollo Server 和 TypeScript 进行 GraphQL 简介 课程结束的地方开始,但先完成该课程并非先决条件!要从头开始,请运行以下命令。

git clone https://github.com/apollographql-education/odyssey-dataloaders-typescript.git

运行应用

最后,让我们启动并运行我们的服务器。

在终端中导航至根目录,并运行以下命令。

首先,安装程序包

odyssey-dataloaders-typescript
npm install

接下来,启动服务器

odyssey-dataloaders-typescript
npm run dev

不久之后,我们应在终端中看到我们的应用已运行!

🚀 Server is running
📭 Query at https://127.0.0.1:4000/
任务!

接下来

让我们开始了解数据加载器、它们解决的问题以及我们如何将它们引入应用中。

下一步

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

本课程当前处于

处于测试阶段
.你的反馈有助于我们提升!如果你遇到了困难或困惑,请告诉我们,我们会帮助你。所有的评论都是公开的,并且必须遵守 Apollo 行为准则。请注意,已解决或已处理的评论可能会被删除。

你需要一个 GitHub 账户才能在下方发帖。还没有账户? 转而发布到我们的 Odyssey 论坛。