在前端开发中,经常会使用 fastify 和 Apollo 两个模块。fastify 提供了一个快速且内存占用低的 Web 框架,而 Apollo 则是一个基于 GraphQL 的客户端。而 fastify-apollo 则是一个将这两个模块结合起来的 NPM 包,本文将介绍 fastify-apollo 的使用教程。
安装 fastify-apollo
首先需要安装 fastify 和 Apollo,使用 npm 命令安装即可。
npm install fastify apollo-server-fastify fastify-apollo graphql
其中 fastify 和 apollo-server-fastify 是 fastify-apollo 依赖的模块。
使用 fastify-apollo
使用 fastify-apollo 需要先创建 fastify 的实例,并将它传入 fastify-apollo 的初始化函数中:
-- -------------------- ---- ------- ----- ------- - -------------------- ----- - ------------- --- - - -------------------------------- ----- ------------- - ------------------------- ------------------------------- - ------- --- -------------- -- -- ------- ------ -- -- -- -- ---- -------------------- ----- -------- -- - -- ----- ----- --- ------------------- --------- -- ------------ --
其中,ApolloServer 的第一个参数是可以定义 GraphQL Schema 的。
对于 GraphQL Schema,可以使用 gql 函数进行定义。例如:
const typeDefs = gql` type Query { hello: String } `
这将定义一个名为 hello 的 GraphQL 查询类型,返回一个字符串类型的结果。
然后,在 ApolloServer 的第二个参数中定义 resolvers:
const resolvers = { Query: { hello: () => { return 'Hello World!' } } }
这将实现一个名为 hello 的查询,并返回一个字符串 Hello World!
内置路由
fastify-apollo 还提供了基于 GraphQL Playground 的内置路由,方便开发者进行调试和测试。
-- -------------------- ---- ------- ------------------------------- - ------- --- -------------- --------- ---------- -------- ----- ----------- ---- --- -- ------ -- ----- ---------- --
通过在 path 参数中指定 /graphql,fastify-apollo 将为 GraphQL Playground 创建一个内置路由。打开 http://localhost:3000/graphql 就能够看到 GraphQL Playground 的页面了。
执行查询
现在可以在 GraphQL Playground 中执行查询了。例如在左侧的查询框中输入:
{ hello }
点击运行按钮,右侧的结果框会返回 Hello World!
结束语
fastify-apollo 是一个非常方便的 NPM 包,它将 fastify 和 Apollo 结合得非常紧密,提供了一个简单而强大的工具来构建 GraphQL API。希望本篇文章能够帮助读者快速上手 fastify-apollo,并在实践中得到应用和完善。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60056cd481e8991b448e6685