반응형
express 개발자들이 express의 단점을 고치고자 했으나 내부구조가 변경되어야 하므로
React처럼 view 즉, 미들웨어 부분만 따로 빼서 만든 프레임워크입니다.
express처럼 여러 기능이 내장되어 있는 게 아니라서 추가로 설치해야합니다.
express를 사용할 줄 아나 원활히 사용한다고 생각되지 않아, 해당 코드를 학습합니다.
index파일 하나에 넣고 코드를 적용할 수 없어, 해당 코드를 분할합니다.
yarn add koa koa-router
yarn add koa koa-router
/// index.js
const Koa = require('koa');
const Router = require('koa-router');
const api = require('./api');
const app = new Koa();
const router = new Router();
router.use('/api', api.routes());
app.use(router.routes()).use(router.allowedMethods());
app.listen(4000, () => {
console.log('Listening to port 4000');
});
localhost:4000/api
호출 적용
// api/index.js
const Router = require('koa-router');
const posts = require('./posts');
const api = new Router();
api.use('/posts', posts.routes());
module.exports = api;
localhost:4000/api/posts
호출 적용
이때 Restful api를 적용하였다.
// api/posts/index.js
const Router = require('koa-router');
const posts = new Router();
const printInfo = (ctx) => {
ctx.body = {
method: ctx.method,
path: ctx.path,
params: ctx.params,
};
};
posts.get('/', printInfo);
posts.post('/', printInfo);
posts.get('/:id', printInfo);
posts.delete('/:id', printInfo);
posts.put('/:id', printInfo);
posts.patch('/:id', printInfo);
module.exports = posts;
이렇게 폴더 구조를 function마다 분할을 적용할 수 있다.
728x90
'코딩 > Node.js' 카테고리의 다른 글
[koa] Import / export syntax 적용하기 (0) | 2024.12.09 |
---|---|
[koa] koa 학습하기 - 2 - 컨트롤러 적용 (0) | 2024.12.08 |
[yarn] yarn 설치 불가 이슈(다층구조 충돌이슈) (0) | 2024.12.07 |
[NODE] JWT 기능 구현. (0) | 2024.11.01 |
[NODE.JS] 라이브러리 기능 설명 (0) | 2024.10.25 |