TypeGraphQL-Dataloader简化TypeGraphQL+DataLoader+TypeORM使用

type-graphql-dataloader 的自动插件方式,简直是用 TypeGraphQL 时的一把好刀。你不用手动写太多DataLoader配置,也不用操心每个 resolver 里怎么清缓存,插件自动帮你搞定,蛮省事的。

TypeGraphQL的配套库太多了,但这个库比较聚焦在Apollo Server这种常用场景上。只要你用 Apollo 起服务,在ApolloServer初始化的时候加上ApolloServerLoaderPlugin()插件就行,响应也快,代码也清爽。

TypeORM搭配效果还不错,适合那种一层一层取数据的场景,比如你要取某用户的文章,再取评论。如果不用DataLoader,那真的是一层嵌套一个查询,SQL 打得你怀疑人生。这个库就帮你优化了这事。

用法也不复杂,你只需要在 resolver 里像平时一样注入服务,DataLoader实例自动注入,不用手动写一堆 loader 工厂方法,适合想快点上手 GraphQL 但又不想太折腾的人。

如果你项目里用了TypeGraphQL + Apollo + TypeORM,那这个库真挺合适的。反正安装也简单,npm install type-graphql-dataloader 一把梭哈试试就知道值不值。

你还可以参考这些相关资源:

如果你是用Express起 Apollo Server 的,那用起来会更顺手。非 Apollo 场景用它也行,不过就没那么丝滑了,自己注意下。

zip
type-graphql-dataloader-master.zip 预估大小:31个文件
folder
type-graphql-dataloader-master 文件夹
file
.gitignore 67B
file
package.json 2KB
folder
src 文件夹
folder
decorators 文件夹
folder
typeorm 文件夹
file
TypeormLoader.ts 7KB
file
Loader.ts 1KB
folder
types 文件夹
file
TgdContext.ts 140B
file
index.ts 268B
folder
plugins 文件夹
folder
apollo-server 文件夹
file
ApolloServerLoaderPlugin.ts 838B
file
.nvmrc 7B
file
jest.config.js 162B
file
LICENSE 1KB
file
tsconfig.json 477B
folder
.github 文件夹
folder
workflows 文件夹
file
main.yml 299B
folder
examples 文件夹
folder
typeorm 文件夹
folder
resolvers 文件夹
file
CompanyResolver.ts 906B
file
DeskResolver.ts 301B
file
CertResolver.ts 301B
file
index.ts 351B
file
EmployeeResolver.ts 333B
folder
entities 文件夹
file
Employee.ts 2KB
file
Base.ts 110B
file
Cert.ts 803B
file
Company.ts 1KB
file
Chair.ts 1KB
file
Desk.ts 1KB
folder
types 文件夹
file
Lazy.ts 38B
file
index.ts 2KB
file
.editorConfig 170B
file
README.md 4KB
folder
tests 文件夹
file
typeorm.ts 7KB
file
tsconfig.build.json 187B
file
.npmignore 128B
file
yarn.lock 271KB
zip 文件大小:129.54KB