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);
이렇게 서드파티 패키지를 가져올 때는
해당 패키지의 코드를 살펴보면서
구조와 작동방식을 이해하는 것이 도움이 될 수 있다.