Maira Bello
Written By
Maira Bello
Developer @ VTEX

Maira is a software engineer at VTEX, currently working with GraphQL every day. She loves web development and learning new technologies that make it even more enjoyable.

graphql.js Tutorial - 快速上手

模式的定义

我们将从定义模式开始。将使用在前面的章节中提到过的 GraphQL 模式定义语言 来定义模式。通常,这比自己手动构建模式对象更简单和灵活(如果想要手动构建也可以)!

在这章节我们将构建一个 Hackernews 克隆应用后端服务,首先得从最重要的数据开始:Link 类型。

type Link {
  id: ID!
  url: String!
}

注意: 如果您完成了之前的前端的教程,您可能会注意到, 现在咱们得手动置顶 id 字段了,因为 Graphcool 不会自动生成。而且也不能使用 @relation@isUnique,因为那也是 Graphcool 特别的处理方式。现在就只是纯粹的 GraphQL 方式。

福利: 超级有用的 GraphQL 速查表

安装依赖

通过下面几个步骤来创建项目。

如果您不熟悉这些软件包,不必担心我们将在后面会解释它们分别有什么用处。

服务器设置

工具包 graphql-tools 为了帮助构建 GraphQL 服务器而提供了许多有用的工具,我们用到的 makeExecutableSchema, 就是将模式定义语言的字符串作为参数用来生成服务器需要的完整的 GraphQLSchema 对象的其中一个工具。

如果你这样做,你会得到一个错误:Must provide schema definition with query type or a type named Query。这是因为我们子啊模式中定义里类型,但是还没有使用到查询。

Unlock the next chapter
以下哪个包允许将 GraphQL 定义语言中的字符串转换为模式对象?
body-parser
graphql-tools
apollo-server-express
express