💻STUDY/BACKEND STUDY

[Node.js] 2주차

coldNoodlePigeon 2022. 3. 26.
  • 생활코딩님의 WEB2 - Node.js 강좌를 수강하고 공부한 내용을 정리해서 올립니다. 

 

설치 

Node.js runtime을 설치. -> javascript로 이를 실행 

cmd창으로 node.js가 올바르게 설치되었는지 확인했다. 

node -v : node.js 설치한 버전을 출력해줌 

console.log(1+1); : 1+1의 결과를 출력해줌. 

exit하기 위해서는 ctrl+c 를 두번 연속으로 넣었을 경우 exit.

 

atom을 이용하여 new project를 만들어주고 바탕화면에 생성한 nodejs 폴더를 연결시켜준다. 

그리고 helloworld.js라는 파일을 생성해 다음과 같은 console.log() 를 작성.

 

그리고 cmd창으로 해당 파일이 위치한 장소로 이동시켜서 node helloworld.js를 실행시키면 2가 출력되는 것을 확인할 수 있다. 

 

 

웹서버 만들기 

 

Node.js는 Apache와 같이 Web Server의 기능을 할 수 있다. (내장중) ->Apache는 할 수 없는 일을 할 수 있음. 

강의 내용대로 zip파일을 받고 압축을 푼 후 디렉토리를 설정하였다. 그리고 해당 코드를 복붙. 

 

cmd창에서 해당 디렉토리로 이동 후 main.js를 실행. 

주소창에 localhost: 3000 (준 넘버가 3000이므로) 을 입력하고 실행시키면 해당 html이 나타난다. 

ctrl+c를 입력하면 해당 서버가 종료되고 localhost:3000이 접속되지 않음을 확인 가능 

 

코드에     console.log(__dirname+url) 를 추가로 입력하고 html문서 파일을 이동할때마다 cmd창에 디렉토리 주소가 뜨는 것을 확인이 가능하다. 

 

위와 같은 코드로 response.end를 변경시 localhost:3000 으로 접속하면 다음과 같은 문구가 뜬다. 

 

localhost:3000/2.html 로 변경시 아래와 같이 변경된다. cmd창도 마찬가지. 

 

 

Javascript- datatype 

 

Number

다음과 같이 출력된다. 

 

 

String

 

 

Variable

 

Template literals 

백틱 (` `) 을 이용하여 \n까지 인식하여 출력하도록 할 수 있다. 

 

 

URL로 입력된 값 사용하기 

 

http:// 프로토콜

opentutorials.org: host(domain)

3000 port

/main path

? id=HTML&page=12 query string 

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주차  (0) 2022.05.01
[Node.js] 3주차  (0) 2022.04.01

댓글