$ yarn add koa-router
const Koa = require('koa');
const Router = require('koa-router');

const app = new Koa();
const router = new Router();

// 라우터 설정
router.get('/', ctx => {
  ctx.body = '홈';
});
router.get('/about', ctx => {
  ctx.body = '소개';
});

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

app.listen(4000, () => {
  console.log('Listening to port 4000');
});

Router Parameter, Query

  • /about/:name의 형식으로 :을 사용하여 라우트 경로 설정
  • ctx.params의 객체에서 조회
  • /posts/?id=10 처럼 조회하면 ctx.query에서 조회
    • 문자열 형태는 ctx.querystring
router.get('/about/:name?', ctx => {
  const { name } = ctx.params;
  ctx.body = name ? `${name}의 소개` : '소개';
});

router.get('/posts', ctx => {
  const { id } = ctx.query;
  ctx.body = id ? `포스트 #${id}` : `포스트 없어`;
});
  • http://localhost:4000/about/icecream
  • http://localhost:4000/posts?id=10

+ Recent posts