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 场景用它也行,不过就没那么丝滑了,自己注意下。
                            
                            type-graphql-dataloader-master.zip
                            预估大小:31个文件
                        
                        
                        
                                
                                type-graphql-dataloader-master
                                文件夹
                            
                                                        
                                
                                .gitignore
                                67B
                            
                                                        
                                
                                package.json
                                2KB
                            
                                                        
                                
                                src
                                文件夹
                            
                                                        
                                
                                decorators
                                文件夹
                            
                                                        
                                
                                typeorm
                                文件夹
                            
                                                        
                                
                                TypeormLoader.ts
                                7KB
                            
                                                        
                                
                                Loader.ts
                                1KB
                            
                                                        
                                
                                types
                                文件夹
                            
                                                        
                                
                                TgdContext.ts
                                140B
                            
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                            
                            
                                                        
                                        
                                    文件大小:129.54KB
                                
                                
                                
                            
评论区