JavaScript:GiraphQL(工具)
graphql-github-io-zh-Hans生态项目与库
JavaScript:GiraphQL(工具)
简介
GiraphQL 是一个基于插件的 schema 构建器,用于在 TypeScript 中创建 code-first GraphQL schema。它使编写类型安全的 schema 变得简单,并且无需代码生成器、构建过程或大量手动类型定义。
资源
- 官网:https://giraphql.com/
- GitHub:https://github.com/hayes/giraphql
- npm 包:
@giraphql/core
快速开始
安装核心包:
bash
npm install @giraphql/core
如果你使用 Apollo Server,还需要安装:
bash
npm install apollo-server
以下示例创建一个简单的 GraphQL 服务,包含一个 hello 查询字段:
ts
import { ApolloServer } from "apollo-server"
import SchemaBuilder from "@giraphql/core"
const builder = new SchemaBuilder({})
builder.queryType({
fields: t => ({
hello: t.string({
args: {
name: t.arg.string({}),
},
resolve: (parent, { name }) => `hello, ${name || "World"}`,
}),
}),
})
new ApolloServer({
schema: builder.toSchema({}),
}).listen(3000)
说明
new SchemaBuilder({})创建 builder 实例。builder.queryType()定义查询根类型,其中包含字段hello。hello字段接受一个可选的name参数,并返回问候语。builder.toSchema()将 builder 转换为 GraphQL schema,可直接供 Apollo Server 使用。
GiraphQL 充分利用 TypeScript 类型推断,在编写代码时即可获得类型安全和自动补全,无需额外代码生成步骤。
帮助我们改进文档
发现翻译问题或内容错误?请告诉我们。
