06_Node.js File List
06_Node.js File List
- Node.js에서 파일목록 알아내기
main.js의 기존 list
var list=`<ol>
<li><a href="/?id=HTML">HTML</a></li>
<li><a href="/?id=CSS">CSS</a></li>
<li><a href="/?id=JavaScript">JavaScript</a></li>
</ol>`;
<li>
태그의 추가, 삭제 등이 빈번하다면 이를 일일이 수정하는 것은 불편하다.
data 폴더 디렉토리에 파일이 추가되거나 삭제 되었을 때 어떻게 nodejs를 통해 알아낼 수 있는가
nodejs file list in directory 구글링
- 코드
const testFolder = './tests/';
const fs=require('fs');
fs.readdir(testFolder, (err, files) => {
files.forEach(file => {
console.log(file);
});
})
- readdir.js 에서 응용
const testFolder = './data/';
const fs = require('fs');
fs.readdir(testFolder, (err, files) => {
files.forEach(file, => {
console.log(file)
});
})
fs.readdir(testFolder, function(error, filelist){
console.log(filelist);
})
files의 값
c:\_dev\_nodejs\nodejs1>node readdir.js
[ 'CSS', 'HTML', 'JavaScript' ]
nodejs는 어떤 특정 디렉토리의 파일 목록을 배열로 만들어서 전달한다.
배열을 반복적으로 처리한다.
- App 제작 - 글목록 출력하기
main.js에 추가
fs.readdir('../nodejs1/data', function(err, filelist){
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>';
)};
fs.readFile 에서 일일이 입력한 <ul>
의 <li>
태그를
${list}
로 대치한다.
이제, 파일을 랜덤으로 추가해도 main.js의 목록 코드를 수정하지 않아도 새로 추가가 되는 걸 확인할 수 있다.