본문 바로가기

토이프로젝트/개인 블로그

koa 관련 패키지 설치 및 apollo server 패키지 설치 (2021.01.25)

반응형

안녕하세요! 새콤하고달콤입니다.

오늘은 간단하게 koa와 관련된 패키지, apollo server와 관련된 패키지를 설치해보았습니다.

 

먼저 프론트엔드는 next와 apollo server를 연동하기 위한 패키지 및 graphql 관련 패키지를 설치하였습니다.

백엔드는 koa와 관련된 패키지 및 cors 패키지를 설치하였습니다.

 

1. 프론트엔드

 "@apollo/react-hooks": "^4.0.0",
 "apollo-boost": "^0.4.9",
 "apollo-client": "^2.6.10",
 "graphql": "^15.4.0",
 "next-with-apollo": "^5.1.0",

- @apollo/react-hooks : apollo를 hooks 문법으로 사용하기 위해서 설치합니다.

- graphql : graphql를 사용하기 위해서 설치합니다.

- apollo-client : apollo-client를 설치하기 위해서 사용합니다.

- apollo-boost : apollo-client를 보다 간편하게 사용하기 위해서 설치합니다.

- next-with-apollo : next.js와 연동하기 위해서 패키지 설치합니다.

 

* scripts 파일 생성

"scripts": {
    "dev": "next",
    "build":"next build",
    "start":"next start"
 }

- dev : 개발 서버 실행

- build : next.js 빌드

- start : 빌드된 next.js 서버 실행

 

2. 백엔드

 "dependencies": {
    "@koa/cors": "^3.1.0",
    "dotenv": "^8.2.0",
    "koa": "^2.13.1",
    "koa-body": "^4.2.0",
    "koa-logger": "^3.2.1",
    "koa-router": "^10.0.0",
    "mysql2": "^2.2.5",
    "nodemon": "^2.0.7",
    "sequelize": "^6.4.0"
 },

- @koa/cors : koa에서  cors 이슈를 해결하기 위해서 설치합니다.

- dotenv : .env파일을 설정하기 위해서 설치합니다.

- koa : koa 프레임워크를 사용하기 위해서 설치합니다.

- koa-body : 완전한 기능을 갖춘 koa본문 파서 미들웨어. 지원 multipart, urlencoded 및 json요청 기관

- koa-logger : 로그를 남길 때 사용합니다.

- koa-router : 라우팅할 때 사용합니다.

- mysql2 : mysql를 사용하기 위해서 설치합니다.

- nodemon : 실시간으로 서버 업데이트 현황을 관리하기 위해서 설치합니다.

- sequelize : orm을 사용하기 위해서 설치합니다.

 

/* eslint-disable no-undef */
const Koa = require('Koa'); 
const cors = require('@koa/cors');
const koaBody = require('koa-body');
const logger = require('koa-logger'); // 모듈 import

require('dotenv').config(); // .env를 가져옵니다.
const run = async () => {
  const app = new Koa(); 

  app.use(cors()); // cors 모듈을 미들웨어로 등록합니다.
  app.use(logger()); // logger 모듈을 미들웨어로 등록합니다.
  app.use(koaBody()); // koaBody 모듈을 미들웨어로 등록합니다.

  const port = process.env.PORT; 
  const server = await app.listen(port);
  console.log(`server run ${port}`);
  return server;
}
run();

 

 

반응형