웹 개발/NodeJS

Node.js - 파일 읽기 (파일을 이용해 본문 구현)

bluesinger 2021. 1. 21. 14:13

nodejs 폴더를 생성하고 그 안에 fileread.js 와 sample.text 파일을 추가 한다.

// fileread.js

var fs = require('fs');
fs.readFile('sample.text', 'utf8', function (err, data) {
  console.log(data);
});

.

// sample.text
Node.js에서 파일을 읽는 방법을 알려드립니다. 

Terminal 에서 fileread.js 를 실행시켜 결과를 확인한다.

 

NodeJS로 간단하게 파일을 읽는것을 해 보았다.

 

이번엔 main.js를 수정하여 페이지 이동할 때 마다 본문을 파일로 읽어서 html를 보여주는 코드를 작성하겠다.

 

data 폴더를 만들고 그 안에 CSS, HTML, JavaScript 파일을 만들고

 

 

html의 <p> 테그 안의 본문을 잘라서 붙여 넣는다.

01
1.html ~ 3.html의 <P>테그 안의 내용을 잘라서 붙여 넣는다. (1.html의 이미지 부분은 삭제한다.)

 

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 = new URL(_url, 'http://' + request.headers.host + '/')
    .searchParams;
  var _id = queryData.get('id');
  if (_url == '/') {
  	// title 수정
    title = 'Welcome';
  }
  if (_url == '/favicon.ico') {
    return response.writeHead(404);
  }
  response.writeHead(200);
  // data 폴더에서 파라메타 _id값과 동일한 파일을 읽어 변수 ${description} 로 <p> 테그 값을 입력한다.
  fs.readFile(`data/${_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>
        <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);

 

 

생활코딩