본문으로 바로가기

저번 시간에 이어서, GraphQL Yoga를 이용해 GraphQL Server를 만들어보겠습니다.


먼저, babel-node를 설치합니다.

babel-node는 기본적으로 더 좋게 코드를 작성하게 만들어줍니다.

CLI에서 다음과 같이 입력해줍니다.

ex) Node.js 의 import 같은 코드처럼!

yarn global add babel-cli --ignore-engines

<babel-node 설치화면>


이제, index.js에 다음과 같이 작성해줍니다.

import { GraphQLServer } from "graphql-yoga";

<index.js>

그리고 package.json의 scripts 부분에 다음과 같이 추가해줍니다.

"scripts": { "start": "nodemon --exec babel-node index.js" }

<package.json의 scripts 부분>


.babelrc 파일을 만듭니다. (babel을 위한 환경설정 파일입니다.)

그리고 기본 프리셋 설정을 다음과 같이 적어줍니다.

{

"presets": ["env", "stage-3"]

}

<.babelrc 설정화면>


그리고 설치도 해줘야 합니다. 

CLI에서 다음과 같이 입력해줍니다.

yarn add babel-cli babel-preset-env babel-preset-stage-3 --dev

무사히 설치가 완료되면 Done. 이라고 CLI에 나옵니다.


이제, index.js에 다음과 같이 입력해줍니다.

import { GraphQLServer } from "graphql-yoga";


const server = new GraphQLServer({


}); // 새로운 GraphQL Server를 만들어서 환경설정을 해주는 곳입니다. 현재는 따로 적을 것이 없습니다.


server.start(() => console.log("GraphQL Server Running"));

<index.js 화면>


CLI에 yarn start를 입력해서 GraphQL 서버를 실행시킵니다.

yarn start

<GraphQL Server 실행>


그런데, 무슨 오류가 뜹니다.

잘 읽어보면 no schema defined 라고 에러가 뜨는데, 이는 GraphQL에서 필요한 schema가 정의되어 있지 않다는 뜻입니다.

일단 위와 같이 뜨면 무사히 잘 서버가 실행되는 것입니다.


다음 시간에는 GraphQL에서 schema를 정의하고, 이를 통해 실제로 Query를 날려 결과를 얻어오는 것을 해보겠습니다.


GraphQL 튜토리얼은 노마드코더 아카데미 - 나의 첫 번째 GraphQL서버 만들기를 참고하여 작성하였습니다.