Express
-
Server MVC 패턴으로 분류하기Project/실시간 채팅 앱 2022. 9. 25. 17:12
express로 구현한 서버를 Model, View, Controller로 나누었다. 바로 코드를 살펴보자 View쪽을 담당하는 router.js이다. 기존 코드보다 가독성이 굉장히 향상된 모습이다. 각 요청에 따른 함수 이름역시 가독성을 높여주는데 큰 역할을 한다. Model을 담당하는 Data쪽이다. 메모리에서 실제 listsfksms Data를 가지고 있고, Controller에서 전달된 요청에 따라 해당 기능을 수행하고 Data를 Return해준다. 마지막으로 Controller측이다. Data측에 요청을 보내고 응답을 담당한다. MVC패턴으로 분류해놓고 나니 확실히 가독성이 올라가고 나중에 에러가 발생하면 어느 부분에서 발생하는지 바로 알 수 있을 것 같다. 기존에 작성되었던 코드들도 나름 깔끔..
-
Express.js Router 사용하기 - CodeHan의 코딩공부BackEnd/개념정리 2022. 9. 12. 12:35
우리는 이전에 express.js에서 각 url에 맞는 요청과 응답, 에러처리 하는 방법을 알아보았다. 하지만 이렇게 작성하게 되면 메인js파일의 가독성이 떨어지고 프로젝트가 커지면 커질수록 더욱 보기 어려울 것이다. 그래서 우린 Router를 사용할 것이다. Router 사용법. Router는 경로를 지정해준다고 생각하면 이해하기 쉽다. import sendRouter from './router/sendRouter.js' app.use("/send", sendRouter); 라고 하면 /send에 들어오는 모든 요청은 sendRouter에서 처리한다. 그렇게되면 app.js의 가독성과 모듈성이 좋아진다. Router 작성하기 위에 코드에서 사용된 sendRouter.js를 작성해보자. import ex..
-
서버에서 에러 처리하기 - CodeHan의 코딩공부BackEnd/개념정리 2022. 9. 12. 12:20
서버에서 에러처리를 제대로 하지 못하면 App을 이용하는 모든 사용자에게 피해가 간다. 내가 만든 App이나 Web에서 발생한 에러를 어떻게 처리해야 효율적일까? (본 내용은 Express.js를 기반으로 작성되었습니다.) 에러를 잘 처리한다는 것은 뭘까? 에러를 잘 처리한다는 것은 Client가 요청한 request를 제대로 처리하지 못했다면, Client에게 적절한 error message와 statusCode를 전송하는 것과 문제가 발생했을 때 서버가 죽지 않도록 하는 것으로 생각해볼 수 있다. 에러를 처리하는 방법은? Express.js에선 최하단에 위치한 listen(port)위에 app.use를 이용해서 발생하는 Error를 처리해줄 수 있다. 하지만 이 최하단에 위치한 에러를 처리하는 미들웨..
-
Express.js로 서버 만들기 - CodeHan의 코딩공부BackEnd/개념정리 2022. 9. 12. 09:53
Node의 유용한 Module인 Express.js로 쉽고 간단하게 서버를 만들어보자. 정말 어렵지 않고 좋은 라이브러리라고 생각한다. 그럼 바로 시작하자. const express = require('express') const app = express(); app.get('/',(req, res, next) => { res.send(...); }) app.listen(8080); 끝났다. 단 6줄만에 서버를 만들고 get요청까지 보내는 함수를 만들었다. 이제 자세한 코드를 조금씩 들여다보자. 코드리뷰 Express는 req,res,next를 처리하는 함수를 middleware로 부르고 express는 middleware의 연속이다. Express 한 번 res반응을 하면 그 뒤에 연결된 middlew..