반응형
파일 목록 알아내기
파일을 한꺼번에 혹은 편리하게 관리하기 위해서는 컴퓨터에 파일 목록을 맡겨야한다.
즉 파일 목록을 알아내어 보내줘야 한다는 것이다.
아래 코드는 특정 폴더안에 있는 파일 리스트를 불러오는 코드이다.
var testFolder = './data';
var fs = require('fs');
fs.readdir(testFolder, function(error, filelist){
console.log(filelist);
})
- data 폴더 안에 있는 파일 리스트들을 프롬프트 명령으로 불러온 것을 확인 할 수 있다.
응용
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){
// 파일 목록 불러오기 코드를 이용하였다.
fs.readdir('./data', function(error, filelist){
var title = 'Hi';
var description = 'jin seok';
// 변수 list을 정하고 불러온 파일을 넣기 위하여 넣을 공간에
// ${list}로 지정하고 아래와 같이 코드를 작성하였다.
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}으로 링크를 클릭 할때마다 각각 다른 파일이 입력된다.
${list}
<h2>${title}</h2>
<p>${description}</p>
</body>
</html>
`;
response.writeHead(200);
response.end(template);
})
} else {
fs.readdir('./data', function(error, filelist){
var title = 'Welcome';
var description = 'Hello, Node.js';
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(`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>
${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(3000);
- 위와 같이 특정 폴더에서 파일 목록을 불러오는 특정 폴더에 테스트로 TEST라는 텍스트 파일을 만들어 보았는데 곧바로 웹 결과에서도 TEST 파일 목록을 불러와 적용된 것을 확인 할 수 있다.
- 즉 위의 코드를 적용하고만 있어도 파일만 특정 폴더에 추가시키면 바로 웹에 적용할 수 있는 매우 효율적인 서버관리 시스템이 구축되었다.
반응형
'프로그래밍 개발 > NodeJs' 카테고리의 다른 글
Node.js - 기본적인 CRUD APP 기능들 구현하기 (0) | 2020.12.19 |
---|---|
Node.js - Node.js에서 동기와 비동기 (0) | 2020.12.12 |
Node.js - 홈페이지 구현 (0) | 2020.12.05 |
Node.js - 콘솔에서의 입력값 (0) | 2020.12.05 |
Node.js - 파일 읽기 (0) | 2020.12.05 |
댓글