2017-11-19 14 views

답변

2

buildSchemaofficial graphql-js package이고, makeExecutableSchemaAppolo에서 비롯된 것이기 때문에 두 패키지가 다르다는 점 외에도 약간 다른 것들이 있습니다.

buildSchema은 스키마 언어에서 스키마 개체를 작성합니다. Type 정의의 큰 문자열 하나만 인수로 사용합니다.

makeExecutableSchema은 스키마와 실행자를 결합하여 실행 가능한 스키마를 만듭니다. graphql-tools 패키지의 일부로, 리졸버 작성시 스키마 언어를 사용하기가 더 쉽습니다. 따라서 유형과 해결자를 정의하고 makeExecutableSchema에 전달합니다. 여러 스키마를 병합하고 모듈화 할 수 있도록 스키마 정의 배열을 전달할 수 있습니다.

GraphQL 서버를 구축하기위한 제안 된 방법을 보려면 Appolo docs for graphql-tools을 참조하십시오.

+0

하지만 리졸버를 전달할 필요는 없으므로이 경우 차이점은 무엇입니까? –

+0

resolvers를'makeExecutableSchema'에 건네 주어야합니다. 그들은 필요합니다. 이것은'graphql-tools'를 사용할 때 GraphQL 서버를 만드는 한 방법입니다. 당신은'buildSchema'를 대신 사용할 수 있고, resolver를 옵션으로 GraphQL 끝점에 전달할 수 있도록 그렇게하지 않아도됩니다. –