GraphQL是一种用于API的查询语言,它使得API能够更好地满足客户端的查询需求。GraphQL-Build是一款npm包,它能让你更轻松地创建GraphQL GraphQL schema并编写GraphQL查询、变异和订阅。通过本文,你将会学会如何使用npm包graphql-build,以及如何从头开始创建一个GraphQL应用。
安装graphql-build
在开始使用graphql-build之前,你需要先下载安装它。可以使用npm包管理器在终端中运行以下命令来下载:
npm install graphql-build
安装完成后,就可以使用require语句将graphql-build包加载到你的项目中:
const {GraphQLSchema, GraphQLObjectType, GraphQLString} = require('graphql-build');
创建GraphQL Schema
接下来,你需要创建一个GraphQL Schema。一个GraphQL Schema可以包含多个GraphQL Object types,以及一些fields(ex: 字符串、数字),以及能够进行查询、变异和订阅的resolver function。
首先,让我们创建一个简单的GraphQL对象类型(UserType),它包含两个字符串类型的字段,firstName和lastName:
const UserType = GraphQLObjectType({ name: 'User', fields: () => ({ firstName: { type: GraphQLString }, lastName: { type: GraphQLString } }) });
然后,创建一个Root Query,它表示你可以从GraphQL Schema中查询的对象。在这个例子中,我们创建一个Query Root,用于查询用户(User)的信息。
-- -------------------- ---- ------- ----- --------- - ------------------- ----- -------- ------- -- -- -- ----- - ----- --------- ----- - --- - ----- ------------- - -- -------- ------ ----- -------- ----- -- - -- ------------ ------ - ---------- -------- --------- ------ -- - - -- ---展开代码
现在,你已经创建了一个简单的GraphQL Schema,其中包含一个UserType和一个QueryRoot。现在可以将这个schema实例化为一个GraphQLSchema对象:
const schema = GraphQLSchema({ query: QueryRoot });
编写查询语句
一旦创建了GraphQL Schema,你就可以开始查询数据了。下面是一个简单的查询:
const query = ` { user(id: "1") { firstName lastName } } `;
这个查询会返回一个id为1的用户的firstName和lastName。现在将查询语句传递给graphql函数,它将返回一个Promise,该Promise将解析为GraphQL Server所返回的结果:
graphql(schema, query).then(result => { console.log(result); });
在实际情况下,GraphQL Schema往往更复杂,因为它需要更多类型和resolver function,但是以上内容可以帮助你快速入门graphql-build。
总结
本文介绍了如何使用npm包graphql-build来创建GraphQL Schema和Query。通过这个简单的例子,您将学会使用graphql-build来构建更庞大的GraphQL应用程序,以及一些在开发GraphQL应用程序时可能遇到的常见问题。
如果你有兴趣深入学习GraphQL,我建议你阅读一些官方文档,该文档覆盖了GraphQL Schema和查询语言的更高级主题。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60055eaa81e8991b448dc1a5