안녕하세요! 새콤하고달콤입니다.
오늘은 간단하게 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();
'토이프로젝트 > 개인 블로그' 카테고리의 다른 글
tsconfig.json 설정, eslint, prettier 패키지 설치(2021.01.28) (0) | 2021.01.28 |
---|---|
backend - sequelize 선언, model 설정, frontend - prettier 설정(2021.01.27) (0) | 2021.01.27 |
개인 블로그 만들기 - 2021.01.21 (gitignore, GraphQL, .env, mongodb) (0) | 2021.01.21 |
next.js 사용하기 (0) | 2021.01.21 |