JavaScript/Node.js

[Node.js-μƒν™œμ½”λ”©] App μ œμž‘ - ν™ˆνŽ˜μ΄μ§€ κ΅¬ν˜„

μ½”λ”©ν•˜λŠ” λΆ•μ–΄ 2021. 1. 27. 01:46
λ°˜μ‘ν˜•

[좜처-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);

λ°˜μ‘ν˜•