본문 바로가기

WebApp/Node.js-express

Node.js- express

express는 framework의 한 종류이다

1.실습환경 준비

콘솔창에 npm insatall express --save로 express module 설치

참조 : expressjs.com

 

app.get 이라는 get메소드는 첫번째 인자로 path를 받고 두번째 인자로 콜백함수를 받는데

어떤 길을 따라가다가 갈림길에서 적당한 곳으로 방향을 잡는것과 같이 사용자들이 여러path를 통해서 들어올때

path마다 적당한 응답을 주는것이다

이것을 route or routing(라우트 또는 라우팅) 이라고 부른다

 

 

app.listen은

app 객체의 listen 메소드의 첫번재 인자로 3000을 주면 listen이라는 메소드가 실행될떄

비로소 웹서버가 실행되면서 3000번 port에 listening하게 되고 그것이 성공하면 콜백함수가 실행되도록

약속되어 있는 것이다.

 

2.홈페이지 구성

 

3.상세보기 페이지구현

 

URL의 path이후에 나오는 또다른 path인 /HTML의 HTML를 code로써 가져오는 법

즉 URL path 방식으로 파라미터를 전달하는 것을 처리하는 라우팅기법을 알아보자

예전은 주소창의 쿼리스트링을 통해서 웹페이지 상세보기를 구현하고 있는데

주소에 쿼리스트링이 들어가 있는 것을 아릅답지 않게 보는 경향이 있다

따라서 최근의 트렌드는 예를 들어 /?id=HTML이 아니고 /page/HTML 처럼 쓰는 편인데 이때

app.get의 메소드 작동원리를 보면 

page라는 경로를 path로 지정을 하고 콜백함수가 실행이 될때 page/뒤에있는 HTML이라는 값을 가져와야 하는데 

이것을 하는 방법은

expressjs.com의 guide의 routing을 보면 route  parameters가 있는데 이를보면

 

Route path:/users/:userId/books/:bookId

Request URL: http://localhost:3000/users/34/books/8989

req.params:{"userId:"34", "bookId":"8989"}

라고 되어 있는데 이것의 구현을 app.get('/users/:userId/books/:bookId',function(req,res){

res.send(req.params})}로 한다고 되어 있다

 

따라서

예제에서는 

HTML이라는 값은 req.params를 했을때 객체의 형식으로

app.get의 두번째 인자인 pageId라는 속성의 이름을 가진 값으로써 HTML을 추출할 수 있게 되는 것이다

 

 

 

4.create 구현

*post방식으로 데이터를 받는 경우에는 app.post 사용

 

 

5.update 구현

*express에서 redirect하는 법 아래 예시 참조