본문 바로가기
728x90

World/Node.js17

Express.js_싱글톤 패턴, 비즈니스 로직 분리 싱글톤이란? 객체의 인스턴스가 1개만 생성되기 하는 디자인 패턴이다. 클래스가 있고 를 활용하여 인스턴스 하나만 찍어낸다. 왜 사용하냐? 처음 만든 객체로 주구장창 쓸 수 있기에, 메모리를 아낄 수 있다. 그리고 전역으로 사용할 경우, 다른 클래스의 인스턴스들이 활용할 수도 있어 활용성이 높다. 싱글톤 패턴 적용 Express.js에 싱글톤 패턴을 적용하면 아래와 같다. // app.ts import * as express from 'express'; import catsRouter from './cats/cats.route'; class Server { // 인스턴스 하나 생성할 때 앱이 하나씩 생성된다 public app: express.Application; constr.. 2023. 3. 24.
Express.js_router 분리하는 방법 app.ts에 라우터들을 따로 분리해주자. 라우터들이 더 쌓이면 유지보수가 어려워지기 때문이다. cats 폴더 내 model과 router를 넣어두었다. model은 데이터가 든 파일인데 무시하자. router.ts에 집중하자. // app.ts import * as express from 'express'; // 라우터 가져와서.. import catsRouter from './cats/cats.route'; const app: express.Express = express(); const data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; // logging middlewares app.use((req, res, next) => { console.log(req.rawHeaders[.. 2023. 3. 24.
Express.js_CRUD API Express.js의 CRUD API를 간단하게 구현한 코드. 미들웨어는 덤. DB 관련 코드는 임시로 작성한 것이기에 전체 구조 정도만 파악하기 위해 작성한 글 // cats/cats.router.ts // app 객채가 구분되는 것을 이어줄 필요가 있음 import { Router } from 'express'; // router 인스턴스 생성 const router = Router(); // READ 데이터 조회 router.get('/cats', (req, res) => { try { const cats = { data: 'data example' }; // throw new Error('db connect error'); res.status(200).send({ success: true, dat.. 2023. 3. 24.
Express.js_미들웨어 사용 방법 import * as express from 'express'; const app: express.Express = express(); const data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; // 미들웨어는 use 메소드로 사용한다 app.use((req, res, next) => { console.log(req.rawHeaders[1]); console.log('this is middleware!'); next(); }); app.get('/', (req: express.Request, res: express.Response) => { res.send({ data }); }); app.get('/test1', (req: express.Request, res: express.R.. 2023. 3. 24.
728x90