[NodeJS] - 웹사이트 2차 fs.readdir로 자동화시키기
○ 웹사이트 2차 fs.readdir로 자동화시키기 |
이전 시간에 파일목록을 가져오는 fs.readdir을 알아보았다 이번엔 그것을 이용하여 웹사이트에서 반복문으로 파일 목록을 불러와 파일 내용을 뿌려주는 것을 알아보겠다 (나중에 추가하거나 수정할 때, 로직 변경없이 파일만 추가하면 되는!!! 와 대박!!!) if (pathname === '/') { if (queryData.id === undefined) { // 주소에 queryData.id 를 찾지 못했을 때 // 즉, http://localhost:3000/ 아무 데이터를 안줬을 때 // 파일목록을 불러온다(filelist에) fs.readdir('./data', function (error, filelist) { console.log(filelist); var title = '존재하지 않은 페이지'; var description = '존재하지 않은 페이지입니다';
// 반복문을 통해 파일목록( ${filelist} )을 ul 과 li 태그에 뿌려준다 // 파일목록은 배열형이기에 배열로 접근한다 ${filelist[0]} 배열이기에 0번부터!!! var list = '<ul>'; var i = 0; while(i<filelist.length){ list = list + `<li><a href="/?id=${filelist[i]}">${filelist[i]}</a></li>`; i = i + 1; } list = list + '</ul>';
// 템플릿 리터럴 표시(` ` 사이에 글 막쓰기, 변수는 ${변수명} 접근, 매우 편리) var template = ` <!doctype html> <html> <head> <title>WEB1 - ${title}</title> <meta charset="utf-8"> </head> <body> <h1><a href="/">WEB</a></h1>${list}
<h2>${title}</h2> <p>${description}</p> </body> </html> `; response.writeHead(200); // 서버연결 성공 시 정상 작동 200 response.end(template); // 응답해서 뿌려줘라 }) }
참조 : https://opentutorials.org/course/3332/21123 (생활코딩) |