[Nodejs] 폴더 안의 파일 찾아오기(fs.readdir) 본문

study/생활코딩_node.js

[Nodejs] 폴더 안의 파일 찾아오기(fs.readdir)

남우p 2022. 7. 19. 13:47

폴더 안의 파일을 리스트화(array 형식)으로 받아와서 사용하기

 

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;
  var title = queryData.id;

  if (pathname === "/") {
    fs.readFile(`data/${queryData.id}`, "utf-8", function (err, description) {
      if (err) return console.log("err 다~!!!!"); //에러처리
      fs.readdir("./data", function (error, filelist) { //fs.readdir api로 filelist를 불러온다
        var list = "<ul>";
        filelist.map((x) => (list += `<li><a href="/?id=${x}">${x}</a></li>`));
        list += "</ul>"; // list에 해당 파일들의 리스트(ul>li)를 넣고 a태그로 링크까지 넣어주면 끝~ 
        if (queryData.id === undefined) {
          title = "Welcome";
          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>
            ${list} //이 부분에 list를 넣어준다
            <h2>${title}</h2>
            <p>${description}</p>
        </body>
        </html>
    `;
        response.writeHead(200);
        response.end(template);
      });
    });
  } else {
    response.writeHead(404);
    response.end("Not Found");
  }
});
app.listen(3001);

 

'study > 생활코딩_node.js' 카테고리의 다른 글

[nodejs] fs.readFile  (0) 2022.07.19
Comments