[Node.js] 2주차
목차
- 생활코딩님의 WEB2 - Node.js 강좌를 수강하고 공부한 내용을 정리해서 올립니다.
설치
Node.js runtime을 설치. -> javascript로 이를 실행
![[Node.js] 2주차 - undefined - 설치 [Node.js] 2주차 - undefined - 설치](http://t1.daumcdn.net/tistory_admin/static/images/xBoxReplace_250.png)
cmd창으로 node.js가 올바르게 설치되었는지 확인했다.
node -v : node.js 설치한 버전을 출력해줌
console.log(1+1); : 1+1의 결과를 출력해줌.
exit하기 위해서는 ctrl+c 를 두번 연속으로 넣었을 경우 exit.
![[Node.js] 2주차 - undefined - 설치 [Node.js] 2주차 - undefined - 설치](http://t1.daumcdn.net/tistory_admin/static/images/xBoxReplace_250.png)
![[Node.js] 2주차 - undefined - 설치 [Node.js] 2주차 - undefined - 설치](http://t1.daumcdn.net/tistory_admin/static/images/xBoxReplace_250.png)
atom을 이용하여 new project를 만들어주고 바탕화면에 생성한 nodejs 폴더를 연결시켜준다.
그리고 helloworld.js라는 파일을 생성해 다음과 같은 console.log() 를 작성.
그리고 cmd창으로 해당 파일이 위치한 장소로 이동시켜서 node helloworld.js를 실행시키면 2가 출력되는 것을 확인할 수 있다.
웹서버 만들기
Node.js는 Apache와 같이 Web Server의 기능을 할 수 있다. (내장중) ->Apache는 할 수 없는 일을 할 수 있음.
![[Node.js] 2주차 - undefined - 웹서버 만들기 [Node.js] 2주차 - undefined - 웹서버 만들기](http://t1.daumcdn.net/tistory_admin/static/images/xBoxReplace_250.png)
강의 내용대로 zip파일을 받고 압축을 푼 후 디렉토리를 설정하였다. 그리고 해당 코드를 복붙.
![[Node.js] 2주차 - undefined - 웹서버 만들기 [Node.js] 2주차 - undefined - 웹서버 만들기](https://blog.kakaocdn.net/dna/dA6jKa/btrxVfegsmH/AAAAAAAAAAAAAAAAAAAAAH1FUe51NNH5AQTkjts-sfZOB-W1GSIpczCOIrfZ525I/img.png?credential=yqXZFxpELC7KVnFOS48ylbz2pIh7yKj8&expires=1753973999&allow_ip=&allow_referer=&signature=RfraT8jErJtpK8%2F9hRHmKawHr04%3D)
cmd창에서 해당 디렉토리로 이동 후 main.js를 실행.
![[Node.js] 2주차 - undefined - 웹서버 만들기 [Node.js] 2주차 - undefined - 웹서버 만들기](https://blog.kakaocdn.net/dna/cZg5CD/btrxXL4wNHR/AAAAAAAAAAAAAAAAAAAAALTzPk_hWFL2LlElKJnXUYCGcrgXCp0Ev9vTiGuXEz3q/img.png?credential=yqXZFxpELC7KVnFOS48ylbz2pIh7yKj8&expires=1753973999&allow_ip=&allow_referer=&signature=Ix1NGi67WWewlo1dxSyvcaP58eg%3D)
주소창에 localhost: 3000 (준 넘버가 3000이므로) 을 입력하고 실행시키면 해당 html이 나타난다.
![[Node.js] 2주차 - undefined - 웹서버 만들기 [Node.js] 2주차 - undefined - 웹서버 만들기](https://blog.kakaocdn.net/dna/oDLDy/btrxXqUkyP0/AAAAAAAAAAAAAAAAAAAAAAZNe2_B1rDrJ_LdSYywQ0ml_Frc86PZa2rg7Fup5L8M/img.png?credential=yqXZFxpELC7KVnFOS48ylbz2pIh7yKj8&expires=1753973999&allow_ip=&allow_referer=&signature=RNhhu2%2BgF2%2B6YbwkA3bJTUS8xCA%3D)
ctrl+c를 입력하면 해당 서버가 종료되고 localhost:3000이 접속되지 않음을 확인 가능
![[Node.js] 2주차 - undefined - 웹서버 만들기 [Node.js] 2주차 - undefined - 웹서버 만들기](https://blog.kakaocdn.net/dna/cnIXCr/btrx0uuHHYv/AAAAAAAAAAAAAAAAAAAAAKQIZapYHlFDosaqlTsM25yTAS6cSAooDbM5SRmtrJd4/img.png?credential=yqXZFxpELC7KVnFOS48ylbz2pIh7yKj8&expires=1753973999&allow_ip=&allow_referer=&signature=yE0vbd%2FBr0e408brgn5lIEHbDQ4%3D)
코드에 console.log(__dirname+url) 를 추가로 입력하고 html문서 파일을 이동할때마다 cmd창에 디렉토리 주소가 뜨는 것을 확인이 가능하다.
![[Node.js] 2주차 - undefined - 웹서버 만들기 [Node.js] 2주차 - undefined - 웹서버 만들기](https://blog.kakaocdn.net/dna/vwE7u/btrx0WYw4nF/AAAAAAAAAAAAAAAAAAAAAOrTxRYQViFDWtapn8SC_TtjYbcy3UVipT1UT05d0CGw/img.png?credential=yqXZFxpELC7KVnFOS48ylbz2pIh7yKj8&expires=1753973999&allow_ip=&allow_referer=&signature=02YprD1PMDKwoHaKibnvRMYWzU8%3D)
위와 같은 코드로 response.end를 변경시 localhost:3000 으로 접속하면 다음과 같은 문구가 뜬다.
![[Node.js] 2주차 - undefined - 웹서버 만들기 [Node.js] 2주차 - undefined - 웹서버 만들기](https://blog.kakaocdn.net/dna/nPurK/btrx1x5ft3Q/AAAAAAAAAAAAAAAAAAAAAG6I2Tt4BZ9esItA48jTUQxLXymgo95q_nq1L24juGJ8/img.png?credential=yqXZFxpELC7KVnFOS48ylbz2pIh7yKj8&expires=1753973999&allow_ip=&allow_referer=&signature=RNuqj%2Fo7Ci7hS0z53VBVjkmJaHM%3D)
localhost:3000/2.html 로 변경시 아래와 같이 변경된다. cmd창도 마찬가지.
Javascript- datatype
Number
![[Node.js] 2주차 - undefined - Javascript- datatype - Number [Node.js] 2주차 - undefined - Javascript- datatype - Number](https://blog.kakaocdn.net/dna/bsqwKt/btrxYbisCYd/AAAAAAAAAAAAAAAAAAAAAKzw6A-Mt6gP9LS_x8w9hCjjLfZgLzJlSR0xMGcqK_cv/img.png?credential=yqXZFxpELC7KVnFOS48ylbz2pIh7yKj8&expires=1753973999&allow_ip=&allow_referer=&signature=bCnOa7vRH2iLCjaZ4tmDRH7jaJs%3D)
![[Node.js] 2주차 - undefined - Javascript- datatype - Number [Node.js] 2주차 - undefined - Javascript- datatype - Number](https://blog.kakaocdn.net/dna/pJDFn/btrxY3EnWdD/AAAAAAAAAAAAAAAAAAAAAMroK54M5lBRGdi_EMXuSZx1Bnf2EIS0phYQGejIeZGM/img.png?credential=yqXZFxpELC7KVnFOS48ylbz2pIh7yKj8&expires=1753973999&allow_ip=&allow_referer=&signature=wfWw4NBtgb4HTBhhm17%2BXr%2BPgfY%3D)
다음과 같이 출력된다.
String
![[Node.js] 2주차 - undefined - Javascript- datatype - String [Node.js] 2주차 - undefined - Javascript- datatype - String](https://blog.kakaocdn.net/dna/qAPRa/btrx18RRaOQ/AAAAAAAAAAAAAAAAAAAAAGQn26yczebZuRM9ES_8jJJ2-f2elgA_RNzthL15Ubjr/img.png?credential=yqXZFxpELC7KVnFOS48ylbz2pIh7yKj8&expires=1753973999&allow_ip=&allow_referer=&signature=zE4vX5ipqaYY9c49STDbKPoVt%2Bw%3D)
Variable
![[Node.js] 2주차 - undefined - Javascript- datatype - Variable [Node.js] 2주차 - undefined - Javascript- datatype - Variable](https://blog.kakaocdn.net/dna/N02Ms/btrx1JdHSg6/AAAAAAAAAAAAAAAAAAAAAJzYijoQJlDT8iv-2O79w7jaX0sck8YYe3bJlv0TWN-L/img.png?credential=yqXZFxpELC7KVnFOS48ylbz2pIh7yKj8&expires=1753973999&allow_ip=&allow_referer=&signature=PMhE34lw293OUzhyCrnGwGJYm%2Bo%3D)
Template literals
![[Node.js] 2주차 - undefined - Javascript- datatype - Template literals [Node.js] 2주차 - undefined - Javascript- datatype - Template literals](https://blog.kakaocdn.net/dna/Ptwlv/btrx2SH1uzb/AAAAAAAAAAAAAAAAAAAAAIcTQLRGSqrAY8Rav1tPD481o0c069m0P-hjlQ-lbgNM/img.png?credential=yqXZFxpELC7KVnFOS48ylbz2pIh7yKj8&expires=1753973999&allow_ip=&allow_referer=&signature=K4Pf6geU6E7OHafP1dUQKCUMU50%3D)
백틱 (` `) 을 이용하여 \n까지 인식하여 출력하도록 할 수 있다.
URL로 입력된 값 사용하기
http:// 프로토콜
opentutorials.org: host(domain)
3000 port
/main path
? id=HTML&page=12 query string
![[Node.js] 2주차 - undefined - URL로 입력된 값 사용하기 [Node.js] 2주차 - undefined - URL로 입력된 값 사용하기](https://blog.kakaocdn.net/dna/bPH4Gg/btrxWLjxg8c/AAAAAAAAAAAAAAAAAAAAAAhWy2v8gzqZMZFM1VrgyxK1Arco67aORQTZpxdDOj9Z/img.png?credential=yqXZFxpELC7KVnFOS48ylbz2pIh7yKj8&expires=1753973999&allow_ip=&allow_referer=&signature=iR4Lt%2FFnubHeSIW%2FuIJw57%2BvDTY%3D)
var http = require('http');
var fs = require('fs');
var url = require('url');
var app = http.createServer(function(request,response){
var _url = request.url;
var queryData = url.parse(_url, true).query;
console.log(queryData.id);
if(_url == '/'){
_url = '/index.html';
}
if(_url == '/favicon.ico'){
return response.writeHead(404);
}
response.writeHead(200);
response.end(queryData.id);
});
app.listen(3000);
require('url')은 해당 url module을 가져와서 사용한다는 의미.
querydata의 id값을 변경할떄마다 console.log(querydata.id)를 통해 이를 출력하도록 한다.
'💻STUDY > BACKEND STUDY' 카테고리의 다른 글
[Node.js] 7주차 (0) | 2022.05.22 |
---|---|
[Node.js] 6주차 (0) | 2022.05.15 |
[Node.js] 5주차 (0) | 2022.05.08 |
[Node.js] 4주차 (1) | 2022.05.01 |
[Node.js] 3주차 (1) | 2022.04.01 |
댓글