Node.js Express
MERN stack은 JavaScript 생태계에서 인기 있는 프레임워크인 MongoDB, Express, React, Node를 지칭하는 말입니다. 이 중에서 Express.js는 Node.js 환경에서 웹 서버, 또는 API 서버를 제작하기 위해 사용되는 인기 있는 프레임워크입니다.
이번 챕터에서는 Mini Node Server에서 http 모듈로 작성했던 서버를, 프레임워크 Express를 이용하는 방식으로 리팩토링합니다.
Express framework는 npm을 통해 다운로드할 수 있습니다. Express로 구현한 서버가 http 모듈로 작성한 서버와 다른 점은 다음과 같습니다.
나는 처음 위의 설명을 듣고서도 이해를 잘 하지못하였다.
솔직히 지금도 남에게 말을 하면서 이해를 시킬 수 있을정도까지는 잘 모르겠다.
그저 어떤 느낌인지 갈피만 잡을 정도....??
const requestHandler = (req, res) => { if(req.url === '/lower') { if (req.method === 'GET') { res.end(data) } else if (req.method === 'POST') { req.on('data', (req, res) => { // do something ... }) } } }
위의 코드는 추가적인 라이브러리를 사용하지 않고, 순수한 node.js 코드를 작성한 것이다.
하지만 Express 는 프레임워크에서 라우터 기능을 제공하기 때문에 보다 간편하게 코드가 짜여진다고 한다
const router = express.Router() router.get('/lower', (req, res) =>{ res.send(data) }) router.post('/lower', (req, res) =>{ // do something })
딱 보기에도 뭔가 깔끔하고 직관적으로 보인다. 속된말로 더럽지않다.
짧은 코드이기에 뭔가 이해할 수 있을 만한 내용이지만... 해당 스프린트를 진행 할 때에는
너무 코드가 길어졌어서 제대로 이해하는 것이 힘들었다.
이 또한 내 기본기가 부실하기 때문이므로 복습에 복습을 더 충실히 해야할것 같다.