반응형
파일 읽기
var fs = require('fs');
fs.readFile('TEST.txt', 'utf8', function(err, data){
console.log(data);
});
- 위의 코드는 외부 파일을 불러오는 노드에서 실행 할 수 있는 자바스크립트 코드이다.
- TEST.txt라는 텍스트가 적혀있는 텍스트 파일을 만든다.
- 그리고 js 파일에 노드에서 실행 할 수 있는 자바스크립트 코드를 적는다. readFile이라는 메소드의 첫 번째 인자가 외부에서 불러올 텍스트 파일 TEXT.txt이다.
- node fileread.js을 명령 프롬프트에 입력하여 실행하면 TEST.txt 텍스트 파일의 내용이 도출되는 것을 확인 할 수 있다.
응용
data 라는 이름으로 폴더를 만들고 그 안에 순수 텍스트 파일이 들어있는 파일 3개를 만든다.
그리고 파일 읽기 자바스크립트 코드를 이용하여 웹 본문의 반응을 구현할 수 있다.
파일 읽기를 위한 readFile 메소드 첫 번째 인자로 방금 전 생성한 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 title = queryData.id;
if(_url == '/'){
title = 'Welcome';
}
if(_url == '/favicon.ico'){
return response.writeHead(404);
}
response.writeHead(200);
//readFile 메소드의 세 번째 인자 함수의 두 번째 인자인 description 변수가 읽어온 쿼리
//데이터 파일을 담는다고 볼 수 있다. description 변수는 즉 readFile 메소드의 세 번째 인자 함수
//에 담겨있는 template 변수의 본문 html 파일 코드 중 p태그의 ${description}에 쿼리 데이터가
//담긴다고 볼 수 있다.
fs.readFile(`data/${queryData.id}`, 'utf8', function(err, description){
var template = `
<!doctype html>
<html>
<head>
<title>WEB1 - ${title}</title>
<meta charset="utf-8">
</head>
<body>
<h1><a href="/">WEB</a></h1>
<ul>
<!--링크마다 클릭할 때 id 값인 쿼리 데이터가 결정되어 위에서 명령한 파일 읽기 코드가 발동되어
data 폴더 안에 있는 html, css, javascript가 연결된다.-->
<li><a href="/?id=html">HTML</a></li>
<li><a href="/?id=css">CSS</a></li>
<li><a href="/?id=javascript">JavaScript</a></li>
</ul>
<h2>${title}</h2>
<p>${description}</p>
</body>
</html>
`;
response.end(template);
})
});
app.listen(3000);
각자 링크를 누를 때마다 <title> 부분은 쿼리 데이터 부분의 값으로 변환되고 <p>태그안은 data 폴더 안에 있는 각각
의 텍스트 파일의 내용들로 변환되고 있는 것을 확인 할 수 있었다.
반응형
'프로그래밍 개발 > NodeJs' 카테고리의 다른 글
Node.js - 홈페이지 구현 (0) | 2020.12.05 |
---|---|
Node.js - 콘솔에서의 입력값 (0) | 2020.12.05 |
Node.js - URL와 query string (0) | 2020.12.05 |
Node.js - javascript 기본 언어 실행 (0) | 2020.12.05 |
Node.js 실행 방법 (0) | 2020.12.05 |
댓글