Express의 기존 개발팀이 개발한 프레임워크로 기존의 개선점들을 추가하며 새로운 프레임워크를 개발
const Koa = require('koa');
const app = new Koa();
app.use(ctx=>{
ctx.body = 'hello';
})
app.listen(4000, ()=>{
console.log('open 4000 port');
})
node src/index.js
명령어 실행하면 정상적으로 동작
app.use
함수를 통해 미들웨어 함수를 등록
서버 코드를 변경할때마다 서버를 재시작하는 번거로움을 해결하기 위한 라이브러리 (서버 코드의 변경을 감지해서 restart 하는듯)
다른 주소로 요청이 들어올 경우 다른 작업을 처리할 수 있도록 라우터를 사용
const Router = require('koa-router');
const api = require('./api');
const router = new Router();
...
router.use('/api',api.routes());
const Router = require('koa-router');
const posts = require('./posts');
const api = new Router();
...
api.use('/api',posts.routes());
const Router = require('koa-router');
const postsCtrl = require('./posts.ctrl');
const posts = new Router();
...
posts.get('/',postsCtrl.list);
posts.post('/',postsCtrl.write);
posts.get('/:api',postsCtrl.read);
exports.write = ctx=>{
...
}
exports.list = ctx=>{
ctx.body = posts;
};
exports.read = ctx=>{
....
}