[NodeJS] - 웹사이트 1차 queryData로 관리하기
○ 웹사이트 1차 queryData로 관리하기 |
queyData를 이해하기 위해 예시를 몇가지 들어보겠습니다 전체코드는 맨 아래 있고 간단히 코드를 살펴보겠습니다 이 코드만 보면 이게 뭐야? '뭔지 모르겠다 뭐가 출력되는거지?' 하실겁니다 근데 몇가지 예시를 들어 결과창을 보시면 '이렇게 동작하는구나'라고 감을 잡으실 겁니다. 접속창을 보시면 흔히 우리가 네이버나 다른 웹사이트에서 검색할때 쓰던 형태이죠 그리고 결과창을 보시면 해당 값들을 가져온걸 볼 수 있죠 그럼 아래 전체 코드를 보면 또 감이 잡히실겁니다 '?id' 냐 '?psw' 냐 '?board' 냐에 따라 그 값들로 조건문을 통해 제어를 해서 우린 페이지마다 각각 다른 값들(페이지들)을 나타낼 수가 있는 것이죠! // NodeJS 관련 모듈들을 사용하기 위해 가져와 변수에 넣음 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; var pathname = url.parse(_url, true).pathname; console.log(queryData); console.log('queryData.id : ' + queryData.id); console.log('queryData.psw : ' + queryData.psw); console.log('queryData.board : ' + queryData.board); if (pathname === '/') { if (queryData.id === undefined) { var title = '존재하지 않은 페이지'; var description = '존재하지 않은 페이지입니다'; var template = ` <!doctype html> <html> <head> <title>WEB1 - ${title}</title> <meta charset="utf-8"> </head> <body> <h2>${title}</h2> <p>${description}</p> </body> </html> `; response.writeHead(200); response.end(template); } else { // queryData.id 가 undefined 가 아니라면 // fs.readFile로 해당 폴더의 파일을 불러옵니다(뒤에 ${queryData.id}의 값으로) fs.readFile(`data/${queryData.id}`, 'utf8', function (err, description) { var title = queryData.id; var template = ` <!doctype html> <html> <head> <title>WEB1 - ${title}</title> <meta charset="utf-8"> </head> <body> <h1><a href="/">WEB</a></h1> <ul> <li><a href="/?id=HTML">HTML</a></li> <li><a href="/?id=CSS">CSS</a></li> <li><a href="/?id=JavaScript">JavaScript</a></li> </ul> <h2>${title}</h2> <p>${description}</p> </body> </html> `; response.writeHead(200); // 200 성공을 띄워라 response.end(template); // template으로 정의한 데이터를 응답해라 }); } } else { response.writeHead(404); // 404 에러를 띄워라 response.end('Not found'); // Not found라고 응답해라 } }); app.listen(3000); // 포트번호 3000에 연결 참조 : https://opentutorials.org/course/3332/21064 (생활코딩) |
'NodeJS' 카테고리의 다른 글
[NodeJS] - 디렉토리에 파일 목록들 읽어오기 fs.readdir (0) | 2018.09.16 |
---|---|
[Javascript] - 배열과 반복문 (0) | 2018.09.16 |
[NodeJS] - Brackets 코드 자동정렬 툴(Beautify) (0) | 2018.09.12 |
[Javascript] - Boolean, 비교연산자, 조건문 (0) | 2018.09.12 |
[NodeJS] - 파일 읽기 fs.readFile (0) | 2018.09.11 |