流星方法与图形QL突变



我有一个现有的代码库,它使用 Meteor 方法从客户端获取请求并在服务器上执行数据库操作。我想尝试将这个项目转移到 GraphQL,但我很难理解这项工作的范围,尤其是这对这些 Meteor 方法意味着什么。

A) GraphQL 会取代Meteor 方法吗?所以我会在 GraphQL 查询、解析器和突变中重新实现这个逻辑吗?

B) GraphQL 是否与 Meteor 方法串联工作?即,客户端调用一个 Meteor 方法,哪个方法内部调用服务器上的一个或多个突变?

C) GraphQL 是否与 Meteor 方法并行工作,具有明显的关注点分离?也就是说,所有数据库操作都被卸载到客户端突变调用,但所有其他过程(例如触发电子邮件和其他作业)仍然发生在 Meteor 方法中。

希望能找到有关此主题的一些澄清。谢谢!

答案是:你可以做到这三点,但你应该做出决定并坚持下去。

我个人使用 Meteor 方法来隐藏客户端的代码/验证方法的输入。从这个意义上说,当我切换到graphQL时,我完全"取代"了流星方法和流星的DPP模型。

但是,实际上没有什么能阻止您在 GraphQL 解析器中调用 meteor 方法。没有真正的理由这样做,因为解析器是服务器端。

但是,保存用于处理高度可变结构(例如 XML 文件)数据的 Meteor 方法可能很诱人,这些数据需要验证,但无法提供 GraphQL 查询和突变器所需的"精确"结构。因此,从这个意义上说,两者可以"一起工作",因为流星的方法并不那么僵化。

也就是说,使用 GraphQL 方法可以带来一大堆好处,你不能只使用 meteor 方法,比如缓存规范化、过滤数据并只检索你想要检索的内容的能力,以及订阅。

最新更新