buildSchema和makeExecutableSchema之间有什么区别

时间:2017-11-19 20:11:48

标签: graphql apollo graphql-js

来自buildSchema软件包的graphql与来自makeExecutableSchema软件包的graphql-tools之间有何区别?

1 个答案:

答案 0 :(得分:13)

除了buildSchema来自official graphql-js packagemakeExecutableSchema来自Apollo之外,它们来自两个不同的包,因此它们也会略有不同。

buildSchema从架构语言构建架构对象。它只需要一大串Type定义作为参数。

makeExecutableSchema结合了模式和解析器来制作可执行模式。它是graphql-tools包的一部分,使得在编写解析器时更容易使用模式语言。因此,您可以定义类型和解析器,并将它们传递给makeExecutableSchema。您可以将一组Schema定义传递给它,这样您就可以将多个模式合并在一起,进行模块化。

请参阅Apollo docs for graphql-tools,了解他们建议的构建GraphQL服务器的方法。