GraphQL 是一种新兴的 API 查询语言,它可以让前端开发者更自由地查询数据,避免了 RESTful 接口的一些问题。graphql-start-kit 是一个用于创建 GraphQL 服务器的 npm 包,它可以让开发者更快地搭建一个基于 GraphQL 的 API 服务器。本文将详细介绍如何使用 graphql-start-kit。
安装 graphql-start-kit
首先,我们需要安装 graphql-start-kit:
使用 npm 安装:
npm install graphql-start-kit
使用 yarn 安装:
yarn add graphql-start-kit
使用 graphql-start-kit
接下来,我们将创建一个基本的 GraphQL 服务器,并实现一个简单的查询。在开始之前,确保你已经安装了 Node.js 以及 npm 或者 yarn。
1. 创建一个新项目
首先,我们需要创建一个新的项目目录,然后在项目中使用 npm 或者 yarn 初始化一个新的 package.json 文件。在终端中执行以下命令:
mkdir my-graphql-server && cd my-graphql-server npm init -y
2. 安装依赖
接下来,我们需要安装 graphql-start-kit 和一些其他的依赖。如下所示:
npm install express graphql graphql-tools
3. 创建一个 GraphQL schema
GraphQL 需要一个 schema 来描述数据类型和查询结构。我们将在项目根目录创建一个新的文件 schema.js
,并在其中定义我们的 schema。
-- -------------------- ---- ------- ----- - -------------------- - - ------------------------ ----- -------- - - ---- ----- - ------ ------ - - ----- --------- - - ------ - ------ -- -- ------ --------- - - -------------- - ---------------------- --------- --------- --
其中,我们定义了一个 Query
类型,它有一个字段 hello
,类型为 String。我们定义了一个名为 hello
的 resolver,它返回一个字符串 "Hello GraphQL!"。我们使用 makeExecutableSchema
工具方法生成了一个可执行的 schema。
4. 创建一个 Express API 服务器
现在我们需要创建一个 Express 服务器,并将 graphql-start-kit 和 schema 集成在一起。
-- -------------------- ---- ------- ----- ------- - ------------------ ----- - --------------- --------------- - - --------------------------------- ----- ------ - ------------------- ----- --- - --------- ------------------- ---------------- ------ --- -------------------- ----------------- ------------ ---------- --- ---------------- -- -- -------------------- - ------- --- ------ -- --------------------------------
这段代码中,我们创建了一个 Express 应用程序,并将 graphqlExpress
和 graphiqlExpress
中间件集成在一起。graphqlExpress
中间件将 GraphQL 查询映射到 schema,而 graphiqlExpress
中间件提供了一个交互式的 GraphiQL 界面,可以让我们轻松地测试 API。
5. 测试我们的 API
现在我们可以尝试向我们的 API 发送一个 GraphQL 查询。我们可以在浏览器中打开 http://localhost:4000/graphiql,然后在左侧窗口中输入以下查询:
{ hello }
然后,点击右侧的 Play 按钮。我们应该看到类似以下的结果:
{ "data": { "hello": "Hello GraphQL!" } }
这就是我们的 GraphQL API 返回的数据!
总结
通过本文,我们了解了如何使用 graphql-start-kit 创建一个 GraphQL 服务器。我们学习了如何定义一个 schema 和解析器函数,并如何将它们映射到 HTTP API 上。希望本文能够对你有所帮助!你可以查看 graphql-start-kit 的官方文档 了解更多信息。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60055fd581e8991b448dd60f