티스토리 뷰

LANGUAGE/NODE.JS

[NODE.JS] KOA

진심스테이크 2019. 8. 20. 14:55

 

package.jsonNode.js를 서버로 실행하기 위해서 필요한 패키지 정보

- 설치

npm init

 


 

nodemon : 자동으로 서버를 재시작 시켜주는 역할을 함

- 아니면 [ctrl] + [shift] + F5 를 수정 할때 마다 눌러줘야함

npm install nodemon -g --save

 

- nodemon 사용 하려면 내가 사용하는 파일을 지정해주면 됨

nodemon [파일이름.js]

 


 

Koa : Node.js 환경에서 웹 서버를 구축할 때 사용하는 웹 프레임워크

npm install koa --save

 

- koa 사용 및 연결 확인

  -> 4000번 포트로 열어서 사용

const Koa = require('koa');
const app = new Koa();

app.use((ctx) => {
    console.log("호랑이")
    ctx.body = "<h1>홍일이는 미운 26살<h1>"

})

app.listen(4000, () => {
    console.log('listen to port 4000', '서버 가동 중');
});

 


 

koa-router : 라우터를 사용하기 위함

npm install koa-router --save

 

- koa-router 사용 및 연결

const Koa = require('koa');
const app = new Koa();

const Router = require('koa-router');
const router = new Router();

router.get('/', (ctx) => {
    console.log("소나무")
    ctx.body = "<h1>홍일이네 족발<h1>"
})


// app에 라우터 적용
app.use(router.routes()).use(router.allowedMethods());

app.listen(4000, () => {
    console.log('listen to port 4000', '서버 가동 중');
});

 

- get 방식

const Koa = require('koa');
const app = new Koa();

const Router = require('koa-router');
const router = new Router();

// http://localhost:4000
router.get('/', (ctx) => {
    ctx.body = "<h1>홍일이네 족발</h1>"
})

// http://localhost:4000/app
router.get('/app', (ctx) => {
    ctx.body = "<h1>족발은 막국수지</h1>"
})

// http://localhost:4000/bpp/hongil
// :name 뒤에 ?를 받으면 name을 받던 안받던 bpp로 들어감
router.get('/bpp/:name?', (ctx) => {
    console.log(ctx.params)
    const {name} = ctx.params // 비구조화 할당
    ctx.body = `<h1>${name}</h1>`
})

// http://localhost:4000/cpp?name=hongil&age=26
// /cpp 뒤에 ?와 &를 사용해서 인수 전달
router.get('/cpp', (ctx) => {
    const {name, age} = ctx.query
    ctx.body = `<h1>${name}이는 미운 ${age}살</h1>`
})

// http://localhost:4000/dpp/앵무새?name=hongil&age=26
router.get('/dpp/:bird', (ctx) => {
    const {bird} = ctx.params
    const {name, age} = ctx.query
    ctx.body = `<h1>${age}살 ${name}이가 키우는 ${bird}</h1>`
})


/* 연결 */
// app에 라우터 적용
app.use(router.routes()).use(router.allowedMethods());

app.listen(4000, () => {
    console.log('listen to port 4000', '서버 가동 중');
});

 

- post 방식

const Koa = require('koa');
const app = new Koa();

const Router = require('koa-router');
const router = new Router();

const bodyparser = require('koa-bodyparser');

app.use(bodyparser());

// http://localhost:4000/bpp
router.post('/bpp', (ctx) => {
    console.log(ctx.request.body)
    const {name, age} = ctx.request.body
    // ctx.body = `<h1>${name}이는 미운 ${age}살</h1>`;
})

/* 연결 */
// app에 라우터 적용
app.use(router.routes()).use(router.allowedMethods());

app.listen(4000, () => {
    console.log('listen to port 4000', '서버 가동 중');
});

 

koa-bodyparser

npm install koa-bodyparser --save

'LANGUAGE > NODE.JS' 카테고리의 다른 글

[NODE.JS] MODULE - 모듈  (0) 2019.07.21
[NODE.JS] RERL  (0) 2019.07.21
[NODE.JS] SINGLE THREAD  (0) 2019.07.19
[NODE.JS] EVENT LOOP - 이벤트 루프  (0) 2019.07.19
[NODE.JS] BASIC THINGS  (0) 2019.07.19
댓글