Server Responses (Node JS, Express, NodeMon)

0_CyberLover_0·2022년 3월 18일
0

Node.JS # 01

목록 보기
11/21
post-thumbnail

Vanilla JS에서 쓰던 방법을 활용 할것이다.

const handleClick = (event) => {

}

 Button.addEventListener("click, handleClick")

express는 route handler에는 event는 없지만 대신 object가 두개가 있다.

하나는 request(req) object이고,다른 하나는 response(res) object이다.

이름을 뭐라고 지어도 상관없지만

첫번째 argument에는 request object이고,

두번째 argument에는 response object이다.

const handleHome = (req, res) => console.log("Somebody is trying to go home.");

app.get("/", handleHome);

어떻게 지정하던 상관 없지만 무조건 두개가 있어야 한다.

requestresponseexpress로부터 받는거다.

즉, home으로 get request가 오면, express는 handlHome에다가

request와 response object를 넣어준다.

(express가 해주는 일이다.)

이제 request object를 console.log 해보자.

const handleHome = (req, res) => {

console.log(req);

};

그리고 console을 실행해 보면 (npm run dev) console이 원래 보이던 거랑은 다르게 뭔가 많은것을 받아 들이고 있다.

이게 request object 거 실행 되고 있다는 뜻이다.

이번엔 response object로 해보자.

const app = express();

const handleHome = (req, res) => {

console.log(res);

};

app.get("/", handleHome);

console을 확인해보면 아까와는 다르지만 localhost는 똑같이 계속 무한 로딩 중이다.

response를 return 하자.

request를 받았으면 repsonse를 return해야한다.

그래서 이렇게 바꿔 주면


const handleHome = (req, res) => {

return res.end();

};

localhost를 확인해 보면 무한 로딩은 안하고 있다.

서버가 응답을 한거다. (아무 내용은 없지만) 서버가 request를 끝내버린거다.

request를 종류시키는 여러 방법이 있다. 그 중 하나를 해본거다.

다른 방법으로는 .send()도 있다.

("") 안에다가 메세지를 입력할수 있다.

route를 하나 추가해보자.

 const handleHome = (req, res) => {

return res.send("I still love you.😍");

};

const handleLogin = (req, res) => {

return res.send("login here.");

 };

app.get("/", handleHome);

 app.get("/login", handleLogin);

이렇게 되면 서버는 두개의 URL을 가지게 된거다.

profile
꿈꾸는 개발자

0개의 댓글