前言

​ 这段时间一直在给nx写插件,感觉我老是定目标定的雄心勃勃,真正开始实现时却懒懒散散. 比如第一期项目规划了11个插件包,目前只有两个处在能用的状态,其他压根还没开始. 主要原因还是涉及的知识确实有点多,每个插件包的集成方式都不同blabla...扯远了.

​ 然后担心自己的看家本领GraphQL哪天忘光了, 特意来整理一篇相关的技术备忘. 大部分是我曾经使用过的, 也有小部分一直感兴趣但是没开始学的.

技术栈

  • TypeGraphQL 这个没得说, 最爱!

  • Prisma, 其实不是GraphQL专属, 也可以用在REST API, 但挺契合GraphQL的, 因为内置了dataloader! 而且确实很好玩.

  • GraphQL-Code-Generator, 神器, 从GraphQL Schema生成TS类型定义/Apollo-Client的useQuery useMutation函数等, 甚至可以生成TypeGraphQL的Resolver定义. 这些能力都得益于它的插件体系, 常用插件如

  • GenQL, 类似Prisma的思路, 从一个Schema生成client, 导入这个client就能获得全链路的类型安全. GenQL还提供了链式操作/多clients等.

  • @2fd/graphqldoc, 从GraphQL Schema生成静态文档.

  • @saeris/apollo-server-vercel, 直接白嫖Vercel Functions, 可以很容易的接入各种GraphQL工具.

  • GraphQL-Voyager, 从GraphQL Schema生成可视化的界面, 展示各个类型之间的联系等.

  • ApolloGraphQL, 略过.

  • Gqless, 号称不需要写查询的GraphQL Client, 还没体验过

  • GraphQL-Crunch, 减少GraphQL响应的体积

  • Hasura Engine 与 PostGraphile, 简单介绍不完, 去官网看吧

  • GraphQL-Request, Prisma团队的作品, 非常迷你的一个GraphQL请求库, 适用于双端.

  • GraphQL Tools, 提供了各种方法让你为所欲为..., 目前只用到Directives相关的方法.

  • GraphQL Shield, 用于快速搭建鉴权层.

暂时应该就这些了... 其他的想到再补充!