반응형
Template Literal 과 fs.readFIle, fs.readdir 등등을 연습삼아 왁자지껄 코드를 작성했다.
뒤죽박죽이기도 하고 깔끔하진 않지만 공부 후 혼자 해봤다. 아직 코드들이 익숙치 않은 탓에 컴파일 에러가 많이 떠서 애를 좀 먹었다..
웹페이지를 구축하고, /data 폴더에 있는 파일들을 불러들여서 메인페이지에 링크를 만든 뒤
해당 링크를 누르게 되면 id값으로 파일명이 전달되어, 전달된 파일을 읽어들여 본문에 더해주는 작업이다.
var http = require('http');
var fs = require('fs');
var url = require('url');
var app = http.createServer(function(request, response) {
var _url = request.url;
var data = url.parse(_url, true).query;
var pathname = url.parse(_url, true).pathname;
console.log(pathname);
if (pathname === '/') {
if (data.id === undefined) //id값을 넘겨받지못한경우
{
var main = 'hello world';
fs.readdir('./data', function(err, filelist) {
var str = '<ul>';
var i = 0;
while (i < filelist.length) {
str += `<li><a href="/?id=${filelist[i]}">${filelist[i]}</a></li>`;
i++;
}
str += '</ul>';
var main = `<p>hello world</p>
${str}`
response.writeHead(200);
response.end(main);
});
} else {
fs.readdir('./data', function(err, filelist) {
var str = '<ul>';
var i = 0;
while (i < filelist.length) {
str += `<li><a href="/?id=${filelist[i]}">${filelist[i]}</a></li>`;
i++;
}
str += '</ul>';
fs.readFile(`./data/${data.id}`, 'utf-8', function(err, des) {
var main = `<p>${data.id}</p>
${str}
${des}`;
response.writeHead(200);
response.end(main);
});
});
}
} else {
response.writeHead(404);
response.end('not found');
}
});
app.listen(3001);
눈여겨 봐야 할 곳들은 대충
1. data.id === undefined
2. fs.readdir()
3. fs.readFile()
4. Template Literal을 사용한 것 (간편하고 범용이 넓어 String Literal보다 사용성이 좋음)
수업의 출처는 opentutorials.org 의 이고잉 님이십니다. 감사합니다.
반응형
'[웹]' 카테고리의 다른 글
[JavaScript] 자바스크립트에서 함수 특징 (0) | 2020.09.30 |
---|---|
[Node.js] 동기/비동기 (0) | 2020.09.30 |
[Node.js] 파일 리스트 출력 (0) | 2020.09.29 |
[JavaScript] Undefined (0) | 2020.09.29 |
[JavaScript] 자바스크립트에서의 배열 (0) | 2020.09.29 |