2017-12-10 14 views
0

graphql-js으로 새 graphQL 스키마를 만들고 있지만 http를 통해 제공되지는 않지만 로컬 graphql 서비스로 사용됩니다. 다른 스키마와 병합하려면이 graphql에 대한 스키마를 json 형식으로 가져와야합니다. 나는 get-graphql-schema을 사용하여 서버에서 스키마를 가져 왔지만이 경우에는 효과가 없을 것입니다. 내가 좋아하는 것이 무엇GraphQLSchema 자바 스크립트 개체에서 .graphql 파일을 구하는 방법은 무엇입니까?

나는 그것이 매우 간단 확신하지만 난 그와 함께 붙어 좀 해요 new GraphQLSchema({ query, mutation });

을 나는 후에 얻으 GraphQLSchema 개체의 스키마와 JSON을 얻는 것입니다. 고맙습니다!

+0

왜'get-graphql-schema'가 실현 가능하지 않습니까? – marktani

답변

0

localhost graphql 서버에서 get-graphql-schema을 사용할 수 있습니다.

+0

그는 구체적으로 패키지가 그에게 일하지 않을 것이라고 말했습니다. – vbranden

+0

@vbranden 아마도 내가 잘못 이해했습니다. @Fernando가 json 형식의 localhost에서 제공하는 graphql 스키마를 가져 오려고하지 않습니까? 그렇다면 왜'get-graphql-schema'가 당신의 필요에 부합하지 않을까요? – Massimo

+0

그는 graphql 서버 엔드 포인트가 아닌 로컬'GraphQLSchema' 오브젝트에서 .graphql 파일을 작성하려고하기 때문에. 'get-graphql-schema'는 끝점을 필요로합니다. – vbranden

0

로컬 방금 인쇄 printSchema를 사용하여 만든 GraphQLSchema 개체에서 .graphql 파일을 원하기 때문에 그 다음 get-graphql-schema 패키지 만 graphql-server 엔드 포인트와 함께 사용할 수있는 파일

import { printSchema } from 'graphql'; 
import Query from './Query'; 
import fs from 'fs'; 

const schema = new GraphQLSchema({ 
    query: Query 
}); 

const fileData = printSchema(schema); 

fs.writeFile('/path/to/schema.graphql', fileData, error => { 
    // handle error 
}); 

에 기록. 이 패키지는 먼저 JSON 표현을 얻기 위해 내부 검사를 보낸 다음 graphql-js buildClientSchema을 사용하여 printSchema을 사용하여 .graphql 파일에 넣을 수있는 스키마 언어 표현을 최종 출력합니다. 로컬에 이미 GraphQLSchema 개체가 있으므로 처음 2 단계를 건너 뛰고 스키마를 인쇄하면됩니다.