๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
JavaScript/Node.js

[Node.js-์ƒํ™œ์ฝ”๋”ฉ] App ์ œ์ž‘ - ํ™ˆํŽ˜์ด์ง€ ๊ตฌํ˜„

by ์ฝ”๋”ฉํ•˜๋Š” ๋ถ•์–ด 2021. 1. 27.
๋ฐ˜์‘ํ˜•

[์ถœ์ฒ˜-Youtube ์ƒํ™œ์ฝ”๋”ฉ]

https://www.youtube.com/watch?v=krfmrBsWqzs&list=PLuHgQVnccGMA9QQX5wqj6ThK7t2tsGxjm&index=25

 

queryData.id = id=HTML ์ด๋Ÿฐ๊ฑฐ

 

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){  // queryData.id๊ฐ€ ์ •์˜๋˜์ง€์•Š์•˜์„ ๋•Œ
        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);

๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€