GraphQL 是由 Facebook 开发的一种开源的数据查询语言,可用于构建 API,可以让客户端对 API 发布的数据进行选择,从而减少网络传输数据量,优化 API 性能,同时可以让客户端更灵活地请求所需的数据。本文将介绍如何创建基本的 GraphQL 服务器,包括安装和配置必要的工具、编写 GraphQL schema 和 resolver,并提供示例代码。
安装和配置必要的工具
要创建 GraphQL 服务器,需要使用一些必要的工具,包括 Node.js、npm(或 Yarn)、GraphQL 和 Express。
- 安装 Node.js
Node.js 是一种基于 Chrome V8 引擎的 JavaScript 运行环境,可用于在服务器端运行 JavaScript。到Node.js 官网下载并安装 Node.js。
- 安装 npm 或 Yarn
npm 或 Yarn 是 Node.js 的包管理器,用于安装和管理 JavaScript 模块。npm 是 Node.js 默认的包管理器,而 Yarn 是 Facebook 开源的新一代 JavaScript 依赖管理工具。到npm 官网或Yarn 官网下载并安装。
- 安装 GraphQL
GraphQL 是一种用于 API 的查询语言,可以使客户端更有效地请求所需的数据。在终端中使用以下命令安装 GraphQL:
# 使用 npm npm install graphql # 使用 Yarn yarn add graphql
- 安装 Express
Express 是 Node.js 常用的 Web 应用开发框架,可用于创建 Web 服务器和 API。在终端中使用以下命令安装 Express:
# 使用 npm npm install express # 使用 Yarn yarn add express
编写 GraphQL schema
GraphQL schema 定义了查询和变更的类型及其相互关系,以及如何访问和操作这些类型。在创建 GraphQL 服务器之前,需要编写 GraphQL schema。在本文中,我们将创建一个简单的 schema,其中包含一个查询类型,查询一个名为“hello”的字符串。
type Query { hello: String! }
以上 schema 定义了一个只有一个字段的查询类型,该字段的名称为“hello”,类型为字符串,且为非 null 类型。
编写 GraphQL resolver
GraphQL resolver 定义了如何从 GraphQL schema 中的查询类型字段中提取数据。它们从存储器、数据库或其他数据源中获取数据,并将其返回给客户端。在本文中,我们将创建一个 resolver 函数,用于返回“hello”字符串。
const resolvers = { Query: { hello: () => { return 'Hello, World!'; }, }, };
以上代码定义了一个名为“hello”的 resolver 函数,用于返回“Hello, World!”字符串。我们将其作为包含 Query 类型键的对象传递。
创建 GraphQL server
在编写了 GraphQL schema 和 resolver 后,我们可以在 Node.js 中创建一个 GraphQL 服务器并使用 Express 将其公开。以下是创建服务器的完整代码。
-- -------------------- ---- ------- ----- ------- - ------------------- ----- - ----------- - - --------------------------- ----- - ----------- - - ------------------- ----- ------ - ------------- ---- ----- - ------ ------- - --- ----- --------- - - ------ - ------ -- -- - ------ ------- -------- -- -- -- ----- --- - ---------- -------- ----------- ------------- ------- ---------- ---------- --------- ----- -- -- ---------------- -- -- - -------------------- - ------- --- ------ -- -------------------------------- ---
以上代码使用 Express 创建了一个 HTTP 服务器,并将其公开为 GraphQL API。可以通过在浏览器中访问 http://localhost:4000/graphql 来验证是否已正确配置和启动 GraphQL 服务器。
结论
本文介绍了如何创建基本的 GraphQL 服务器。从安装和配置必要的工具开始,到编写 GraphQL schema 和 resolver,最后到创建 GraphQL 服务器并使用 Express 将其公开。此外,我们还提供了示例代码,以便您参考和借鉴。当然,这只是刚刚入门,还有很多其他功能和用例需要您自行探索和实践。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6748660f93696b0268f51113