처음부터 차근차근

Node.js 홈페이지 구현 본문

FrameWork/Node.js

Node.js 홈페이지 구현

HangJu_95 2023. 5. 30. 13:59
728x90

조건문과 쿼리스트링을 통하여 홈부분과 나머지 부분을 분리하였다.

 

if queryData.id === undefined인 경우 -> 홈부분

else -> 나머지 목록 부분

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;
    if(pathname === '/'){
      if(queryData.id === undefined){
        fs.readFile(`data/${queryData.id}`, 'utf8', function(err, description){
          var title = 'Welcome';
          var description = 'Hello, Node.js';
          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);
          response.end(template);
        });
      } else {
        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);
          response.end(template);
        });
      }
    } else {
      response.writeHead(404);
      response.end('Not found');
    }
});
app.listen(3000);

https://opentutorials.org/module/3549/21064

 

App - 홈페이지 구현 - Node.js

수업소개 조건문을 활용해서 홈페이지를 표현하는 방법을 살펴봅니다.  강의 소스코드 main.js 변경사항 var http = require('http'); var fs = require('fs'); var url = require('url'); var app = http.createServer(function(req

opentutorials.org

 

'FrameWork > Node.js' 카테고리의 다른 글

Node.js 함수를 이용해서 main.js 정리정돈하기  (0) 2023.05.30
Node.js 파일 리스트 읽어오기  (0) 2023.05.30
Node.js Not found 구현  (0) 2023.05.30
Node.js 파일 읽기 구현  (0) 2023.05.30
Node.js - URL의 이해  (0) 2023.05.30