[nodejs] Nexus를 사용한 GraphQL 서버 구축
본 포스트에서는 Nexus를 사용하여 Node.js 기반의 GraphQL 서버를 구축하는 방법에 대해 알아보겠습니다.
목차
Nexus 소개
Nexus는 GraphQL 스키마를 더욱 쉽게 정의하고 관리할 수 있게 해주는 라이브러리입니다. TypeScript를 기반으로 하며, GraphQL 서버를 빠르고 안정적으로 개발할 수 있도록 도와줍니다.
GraphQL 서버 준비
먼저, Node.js와 npm이 설치되어 있는지 확인합니다. 그리고 프로젝트 디렉토리에서 새로운 npm 프로젝트를 초기화합니다.
npm init -y
이후, 필요한 의존성 패키지들을 설치합니다.
npm install express graphql apollo-server-express @nexus/schema
Nexus 모델 정의
모델을 정의하기 위해 schema.ts
파일을 생성하고 다음과 같이 모델을 정의합니다.
import { objectType, makeSchema } from '@nexus/schema';
const Post = objectType({
name: 'Post',
definition(t) {
t.int('id');
t.string('title');
// 다른 필드 추가
},
});
const schema = makeSchema({
types: [Post],
// 기타 설정
});
Nexus 서버 설정
Nexus 서버를 설정하기 위해 server.ts
파일을 생성하고 다음과 같이 서버를 설정합니다.
import express from 'express';
import { ApolloServer } from 'apollo-server-express';
import { schema } from './schema';
const app = express();
const server = new ApolloServer({
schema,
});
server.applyMiddleware({ app });
app.listen({ port: 4000 }, () => {
console.log(`Server ready at http://localhost:4000${server.graphqlPath}`);
});
결론
Nexus를 사용하여 GraphQL 서버를 구축하는 방법에 대해 알아보았습니다. Nexus를 사용하면 GraphQL 스키마를 쉽게 정의하고 관리할 수 있으며, 개발 작업을 효율적으로 수행할 수 있습니다.
더 많은 기능과 세부적인 내용은 Nexus 공식 문서를 참조하시기 바랍니다.