- 라우팅: 요청이 들어온 url에 따라 서버가 다르게 처리하는 것
const http = require('http');
users = ['Kim','Lee','Yoo']
//Arrow Function으로 변경
const server = http.createServer((request,response) => {
// response.end('<h1>Hello World</h1>');
if (request.url === '/'){
response.end('<h1> Welcome! </h1>')
}else if(request.url === '/users'){
response.end(`<h1> ${users} </h1>`);
}else{
response.end('<h1>Page Not Available</h1>')
}
});
server.listen(3000);
요청된 url의 첫 페이지는 '/'
사용자 리스트를 보여주는 페이지는 '/users'
나머지 url은 이용할 수 없다고 표시
라우팅을 더 편하고 간편하게 설정하려면 서드 파티 모듈 Express 설치
npm install express
터미널 창에서 설치 완료한 뒤 불러서 사용한다
Express 모듈은 Node.js 환경의 서버 프로그램을 만들 때 사용하는 프레임 워크
app.get('/',(request,response) => {
response.end('<h1>Welcome!</h1>');
});
app.get('/users',(request,response) => {
response.end(`<h1>${users}</h1>`);
});
app.get('/users/:id',(request,response) => {
const userName = users[request.params.id-1]
response.end(`<h1>${userName}</h1>`);
});
app.get('*',(request,response) => { //* 모든 path를 의미
response.end('<h1>Page Not Available</h1>')
});
app.listen(3000);
:id는 request가 갖는 params.id 속성을 의미
id 가 1 이면 userName은 users 배열의 0번째 index를 가져와서 h1태그로 응답한다.
결과를 보면 users 배열에 없는 건 Undefined이 출력된다
선언된 게 없을 때 표시하는 페이지도 예외처리로 만들어야겠다
이외 페이지는 Page Not Available로 잘 출력된다.
서버를 개발하다 보면 코드를 추가하고 확인해야 하는데 node 명령어는 코드를 추가할 때마다 개발자가 다시 실행해줘야 한다
nodemon를 사용하면 코드 변화를 알아서 감지해서 자동으로 재실행해준다
npm install -g nodemon
코드 변화가 생길 때마다 node main.js를 재실행하는 것을 볼 수 있다
반응형
'기타 프로그램' 카테고리의 다른 글
Node.js seed 데이터 넣기, 모델과 테이블 연동, 정보 조회( findAll ,findOne) (0) | 2022.02.28 |
---|---|
Node.js 모델과 테이블 생성하기 (0) | 2022.02.25 |
Node.js로 웹서버 만들기(1) (0) | 2022.02.24 |
[git] GitHub Desktop 으로 프로젝트를 더 간편하게 사용 (0) | 2022.02.23 |
Visual Studio Code 설치하기 (0) | 2022.01.19 |
댓글