(수근수근)
[NodeJS] Hello Node 본문
해당 내용은 인프런의 테스트주도개발(TDD)로 만드는 NodeJS API 서버를 정리한 내용입니다.
node에서 제공하는 hello world노드버전 코드
노드의 헬로월드 코드 링크: https://nodejs.org/dist/latest-v6.x/docs/api/synopsis.html
//index.js
const http = require('http');
const hostname = '127.0.0.1';
const port = 3000;
const server = http.createServer((req, res) => {
res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain');
res.end('Hello World\n');
});
server.listen(port, hostname, () => {
console.log(`Server running at http://${hostname}:${port}/`);
});
서버실행
- 해당폴더 위치에서
node index.js
명령어 실행 - 다른 터미널창을 하나 더 띄운 후 아래 명령어 입력
curl -X GET "localhost:3030" ( window )
curl -X GET 'localhost:3030' ( mac )
hello node코드 읽어보기
- IP, PORT 설정
const hostname = '127.0.0.1'; const port = 3000;
- 서버 만들기
- 클라이언트가 요청을 하면 콜백함수가 요청이 된다.
- statusCode =200 성공을 의미
- end('Hello World\n'); 엔드함수를 통해 데이터를 전달해준다.
//콜백함수를 server라는 변수에 할당 const server = http.createServer((req, res) => { res.statusCode = 200; res.setHeader('Content-Type', 'text/plain'); res.end('Hello World\n'); });
- 서버를 요청대기 상태로 만듬(listen함수)
server.listen(port, hostname, () => { // 백틱을 사용하여 문자 및 변수 처리 console.log(`Server running at http://${hostname}:${port}/`); });
라우팅 추가하기
지금까지 만든 서버는 루트경로로만 접속할 수 있는 서버입니다.
무슨 url을 사용하더라도 이 서버는 'hello world' 만 응답합니다.
여기에 새로운 API를 추가하기 위해서는 라우팅을 추가하여야 합니다!
- 라우팅을 추가하기 위해서는?
- req 객체의 url은 클라이언트의 요청정보가 담깁니다.
- req.url을 통해서 라우팅 기능을 구현합니다.
const server = http.createServer((req, res) => {
console.log(req.url); //클라이언트의 요청정보가 담깁니다
if(req.url ==='/'){
res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain');
res.end('Hello World\n');
}else{
res.statusCode = 404;
res.end('Not found\n');
}
});
→ 결과
→ -v옵션을 통해서 더 자세한 정보를 볼 수 있습니다.
이런식으로 API를 추가해서 개발할 수 있습니다
하지만, 이런식으로 계속 진행하게 되면 반복되는 코드가 많아지고, 한 코드에 많은 것을 담게 됩니다.
이것을 해결하기 위해 Express를 다음에 활용해봅니다.
'type & Javascript' 카테고리의 다른 글
[NodeJS] REST API란 (0) | 2021.10.03 |
---|---|
[ NodeJS ] Express 기초 (0) | 2021.10.03 |
[NodeJS] Nodejs 기초 (0) | 2021.10.01 |
[JS] JSON데이터 CSV파일로 저장 (0) | 2021.09.26 |
[JS] 콜백함수 (0) | 2021.09.15 |
Comments