[알아야하는 것]
- ES6 arrow function
- Node.js module system : module, load
- 먼저 보면 좋은 게시글 : [node.js] 기본 - processing model, module system, async : http://jinbroing.tistory.com/139
[API 서버]
- 요청, 응답하는 서버
[사용할 내장 모듈 + 유저 API 서버 만들기]
- http 모듈
const http = require('http');
const hostname = '127.0.0.1';
const port = 3000;
const server = http.createServer((req, res) => {
if(req.url === '/'){
res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain');
/* response txt */
res.end('Hello World\n');
} else if(req.url === '/users') {
res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain');
res.end('User list');
} else{
res.statusCode = 404;
res.end('Not found\n');
}
});
server.listen(port, hostname, () => {
/* 요청 대기 메서드 */
console.log(`Server running at http://${hostname}:${port}`);
});
- require : http 모듈 로드
- hostname, port : 서버 요청 시 필요
- http.createServer : http 서버를 생성하는 http 모듈의 함수
1) 파라미터로 함수를 받음 : 'request' 이벤트가 발생했을 때 자동으로 호출될 함수
2) requestListener(파라미터 함수) : request에 대한 response 세팅 - statusCode, Header(HTTP 응답 헤더), end(HTTP 응답의 끝)
3) 참고 api 문서 : https://goo.gl/wHrKYy, node.js는 5.x ES6 arrow function
- server.listen : 서버 객체의 메서드, 서버를 요청 대기 상태로 두는 메서드, 대기 상태로 들어가면 파라미터로 전달한 콜백함수 호출
[팁]
- 문자열 내부("" 큰 따옴표)에 자바스크립트 코드를 사용하려면 `(템플릿 문자열)을 사용하면 됨
const hostname = 'localhost';
const port = 3000;
console.log(`Server running at http://${hostname}:${port}`);
- API 문서 꼭 보자! : 콜백함수인 것도 있고, 리스너 함수일 수도 있음 : http.createServer 파라미터 함수
'nodejs' 카테고리의 다른 글
[node.js] express로 REST API 서버 개발 (0) | 2017.06.09 |
---|---|
[node.js] npm, package.json 제대로 알고 가기 (0) | 2017.06.08 |
[node.js] 기본 - processing model, module system, async] (0) | 2017.06.04 |
[node.js] 모듈과 미들웨어 개념 (0) | 2017.05.23 |
[node.js]Supervisor로 웹서버 자동 재시작하기 (0) | 2017.05.15 |
댓글