본문 바로가기
Apollo GraphQL Prisma

인스타그램 클론코딩 BACKEND 만들기 #8 - graphql-tools

by 정정훈의 아날로그 2021. 6. 16.

설치법

npm i graphql-tools

 

예제

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import {
  loadFilesSync,
  makeExecutableSchema,
  mergeResolvers,
  mergeTypeDefs,
from "graphql-tools";
 
const loadedTypes = loadFilesSync(`${__dirname}/**/*.typeDefs.js`);
const loadedResolvers = loadFilesSync(
  `${__dirname}/**/*.{queries,mutations}.js`
);
const typeDefs = mergeTypeDefs(loadedTypes);
const resolvers = mergeResolvers(loadedResolvers);
 
const schema = makeExecutableSchema({ typeDefs, resolvers });
 
export default schema;
cs
  • loadFilesSync 를 통해 파일 경로 패턴 정의, default 로 export 되어있는 것들만 불러올수 있음
  • * __filename 은 현재 실행 중인 파일 경로
  • * __dirname 은 현재 실행 중인 폴더 경로
  • /**/*.typeDefs.js : 모든 폴더의 모든 이름의 typeDefs.js
  • makeExecutableSchema 를 사용하여 typedef와 resolver를 하나의 스키마로 정의