// readdir.js
var readFolder = './data'; // ./는 현재 디렉토리에서 라는 뜻.
var fs = require('fs'); // fs = file system
fs.readdir(readFolder, (error, filelist) => {
console.log(filelist); //filelist는 배열타입으로 반환됨.
});
콘솔창 실행
node nodejs/readdir.js
결과
[ 'CSS', 'HTML', 'JavaScript' ]
출처
opentutorials.org/course/3332/21122
// main.js
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/${title}`, 'utf8', (error, description) => {
if(title === undefined){
title = 'Welcome';
description = 'Hello, Node.js';
}
/* data폴더에 있는 파일 목록 읽어와서 html에 list로 만들어 주기 */
var readFolder = './data';
fs.readdir(readFolder, (error, filelist) => {
var listString =
filelist.map((item) => {
return `<li><a href="/?id=${item}">${item}</a></li>`;
}).join('');
var list = `<ul>${listString}</ul>`;
var templete = `
<!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(templete);
});
});
}else{
response.writeHead(404);
response.end('Not found');
}
});
app.listen(3000);
'개발일기 > Node.js 공부하기' 카테고리의 다른 글
App - 글생성 UI 만들기 & POST 방식으로 전송된 데이터 받기 & 파일생성과 리다이렉션 (0) | 2021.04.09 |
---|---|
Node.js - 패키지 매니저와 PM2 (0) | 2021.04.09 |
Node.js - pathname & App - Not found 오류 구현(response 코드 설정) (0) | 2021.04.07 |
Node.js - 콘솔에서의 입력값 (0) | 2021.04.07 |
Node.js - 파일 읽기 & App - 동적인 웹페이지 만들기 (0) | 2021.04.06 |