Node.js

Express.js] 익스프레스 github으로 내부구조 확인하기

김휴고 2023. 12. 6. 14:59

https://github.com/expressjs/express

 

GitHub - expressjs/express: Fast, unopinionated, minimalist web framework for node.

Fast, unopinionated, minimalist web framework for node. - GitHub - expressjs/express: Fast, unopinionated, minimalist web framework for node.

github.com

 

위 링크에 들어가면 익스프레스가 어떤 코드로 짜여져 있는지 확인할 수 있다.

 

 

lib 폴더에 들어가보면

 

express 코드를 볼 수 있다. 먼저 response.js를 보면

 

서버의 응답을 보내기 위해 사용했던 send()가 어떤 구조로 짜여져 있는지 볼 수 있다.

응답이 문자열인 경우

Content-Type 헤더를  html로 설정하고 있다.

 

application.js를 확인해보자.

 

app.listen()으로 서버를 생성하고 포트를 할당할 수 있다.

즉, 아래와 같이 코드가 간결해진다.

// const server = http.createServer(app);
// server.listen(3000);
// 이 두 줄의 기능을 아래의 한줄로 처리 가능
app.listen(3000);

 

또한 기존에 첫 행에서 http를 임포트해온 행을 삭제해도 된다.

const express = require("express");

const app = express();

app.use((req, res, next) => {

  console.log("In the middleware!");
  next(); 
});

app.use((req, res, next) => {
  console.log("In another middleware!");
  res.send("<h1>Hello from Express!</h1>");
});

// const server = http.createServer(app);
// server.listen(3000);
// 이 두 줄의 기능을 아래의 한줄로 처리 가능

app.listen(3000);

 

 

 

이렇게 서드파티 패키지를 가져올 때는

해당 패키지의 코드를 살펴보면서

구조와 작동방식을 이해하는 것이 도움이 될 수 있다.