👋 欢迎使用 Apollo Server 和 TypeScript 的数据加载器!
我们很高兴您来这里!我们将齐心协力,致力于提高我们的 GraphQL 应用程序的性能,重点关注使用 数据加载器 的最佳实践。在解决此主题时,我们有很多亲自动手的机会,您会发现测验和挑战来测试您的理解。当我们学习更多时,您将能够下载可供您使用的可操作演示!
在此教程中,我们将解决 GraphQL 项目中可能出现的难以察觉的性能问题之一: n+1 问题。一旦我们理解了此问题如何发生,我们将使用数据加载器实现解决方案。我们将逐步完成在 TypeScript 项目中实施和使用数据加载器的步骤,并了解它们对我们应用程序性能产生的直接影响。
让我们开始吧!
我们正在建立什么内容
为了探索此主题,我们将基于现有的 GraphQL 应用程序来构建: Airlock。
Airlock 是一款星际旅行预订应用程序:我们可以使用它来找到在广阔的宇宙中逗留的酷炫地方!我们在 GraphQL 课程简介 中构建了此 GraphQL 服务器 的基础知识。
但不用担心——您无需完成第一个课程即可开始!我们将为您提供一个全新的仓库进行克隆,并指导您完成启动和运行数据加载器的所有步骤。
让我们准备好一切以便开始构建!
项目设置
要跟随教程,您需要具备以下内容
先决知识
我们假设你已熟悉 GraphQL 的类型、查询以及 突变 等概念。如果你需要复习,请查看我们的 使用 Apollo Server 和 TypeScript 进行 GraphQL 简介课程。
你也应熟悉 TypeScript 编程概念。
代码编辑器或 IDE
我们使用 VS Code。
许多流行的 IDE 都提供支持 GraphQL 语法高亮的插件。对于 VS Code,我们推荐 GraphQL: Syntax Highlighting 扩展。
克隆仓库
本课程从 使用 Apollo Server 和 TypeScript 进行 GraphQL 简介 课程结束的地方开始,但先完成该课程并非先决条件!要从头开始,请运行以下命令。
git clone https://github.com/apollographql-education/odyssey-dataloaders-typescript.git
运行应用
最后,让我们启动并运行我们的服务器。
在终端中导航至根目录,并运行以下命令。
首先,安装程序包
npm install
接下来,启动服务器
npm run dev
不久之后,我们应在终端中看到我们的应用已运行!
🚀 Server is running📭 Query at https://127.0.0.1:4000/
接下来
让我们开始了解数据加载器、它们解决的问题以及我们如何将它们引入应用中。
分享你对本课程的疑问和评论
本课程当前处于
你需要一个 GitHub 账户才能在下方发帖。还没有账户? 转而发布到我们的 Odyssey 论坛。