Node JS #2
Express
Fast, unopinionated, minimalist web framework for Node.js
Express란 웹 애플리케이션을 만들기 위한 프레임워크이다. 그리고 가장 많은 큰 생태계를 보유하고 있다.
따라서 우리는 이를 이용하여 우리의 코드를 더 쉽게 짤 수 있게 된다.
express를 사용하여 우리는 서버를 만들 수 있다.
GET Request / Response
import express from "express"; // /mode_modules에서 express를 찾아 include
const PORT = 4000; // 포트 번호
const app = express(); // express Application 생성
// 서버 실행
app.listen(PORT, () => {
console.log(`server litening on port ${PORT}`);
});
로컬 주소를 포트 번호 4000번을 이용해 들어가면 다음과 같은 페이지가 뜨게 된다.
이는 서버가 요청을 받았지만, 응답을 하지 않아 클라이언트인 브라우저가 응답 받을 수 없다는 것을 나타낸다.
우리가 eventHandler를 다루는 방법을 되돌아보자.
import express from "express";
const handlerClick = (event) => {
console.log(`${event}`);
};
button.addEventListener("click", handlerClick);
이때 handlerClick 함수의 실행을 eventlistener에게 위임하고, 버튼이 클릭될 때
handlerClick(event); // 이렇게 실행된다. JS가 자동으로 첫 인자인 event를 넘긴다.
//handlerClick(); 이게 아님
이것과 비슷하게 app.get() 함수도 동작한다.
const callBackFunction=(res,req)=> console.log(${res},${req});
app.get(route,callBackFunction);
//route로 요청이 들어오면 callBackFunction(res,req); 가 실행
//callBackFunction(); 이게 아님
route를 다양하게 구성해서 다양한 요청에 대한 응답을 해줄 수 있다.
const app = express();
const handleHome = (res, req) => {
return res.send("This is home"); // res.send()로 문자를 보낼 수도 있고
};
const handleLogin = (res, req) => {
return res.send("<h1>Login here</h1>"); // HTML을 보낼 수 있다.
};
const handleKill = (res, req) => {
return res.end(); // res.end()로 연결을 종료시킬수도 있다.
};
app.get("/", handleHome);
app.get("/login", handleLogin);
app.get("/kill", handleKill);
app.listen(4000, () =>
console.log("Server listening on port 4000")
);
자세한 사용법은 express 공식 문서를 참고하자.
Leave a comment