노드: cd myjourney02

Nodejs가 내 컴퓨터의 파일 시스템(제 경우에는 모바일 저장소)과 함께 작동하고 Nodejs가 파일 서버 역할을 하도록 하는 Nodejs의 파일 시스템 모듈에 대해 배웠습니다.
이것이 기본적으로 의미하는 바는 파일(문서, 비디오, 오디오 등)이 내 컴퓨터(모바일)에 저장되고 이 파일 시스템 모듈을 통해 노드가 이러한 파일에 액세스하고 요청 시(일반적으로 버튼 클릭) 클라이언트에 제공할 수 있다는 것입니다.

In computing, file system or filesystem (often abbreviated to fs) is a method and data structure that the operating system uses to control how data is stored and retrieved. Without a file system, data placed in a storage medium would be one large body of data with no way to tell where one piece of data stopped and the next began, or where any piece of data was located when it was time to retrieve it



이 기능을 활성화하려면 http 및 url 모듈과 마찬가지로 require() 함수를 사용하고 변수에 저장하는 파일 시스템 모듈 fs를 포함합니다.

var fs = require('fs');


그래서 아래에서 볼 수 있듯이 node라는 폴더에 내 서버 프로그램과 함께 두 개의 html 파일이 있습니다. 사실과 색인.



그리고 내 서버 코드



7행을 보니 큰따옴표로 묶인 점이 발견되어 왜 거기에 있고 무슨 일을 하는지 알아보기로 했습니다. 그래서 서버를 시작했는데 서버가 다운되었습니다. Google에서 7행을 빠르게 복사/붙여넣기하면 흥미로운 점이 나타났습니다. 결과.
내가 취할 수 있는 최선은

The reason for the leading dot is that the logic of that example is to open a local file.
q.pathname will return something like /..., so adding a . in front of it, you'll get something like ./..., which identifies a file in the same directory where the node.js program is run.



파일 서버로서의 Nodejs는 내 서버 프로그램과 동일한 폴더 내에서 파일(예:/index.html)의 경로를 엔티티(./index.html)로 인식하기 위해 점이 필요합니다. 상대 또는 절대 경로의 관점에서 생각하지 않는 것이 가장 좋습니다.

  var filename = "." + q.pathname;


8행에는 많은 일이 발생합니다. 두 개의 인수를 취하는 readFile() 메소드가 있는 fs 모듈에 주목하십시오. fs 또는 파일 시스템 모듈은 다음을 허용합니다.
  • appendFile(), open(), writeFile() 메서드를 사용하여 파일 만들기
  • readFile() 메서드를 사용하여 파일 읽기
  • appendFile(), writeFile() 메서드를 사용하여 파일 업데이트
  • unlink() 메서드를 사용하여 파일 삭제
  • rename() 메서드를 사용하여 파일 이름 바꾸기

  • CR²UD



    코드의 의미는 "내 컴퓨터(서버)에서 클라이언트가 요청한 파일 이름을 읽고 응답합니다.
    파일이 제대로 요청되지 않았거나 존재하지 않는 경우와 파일이 제대로 요청되었거나 존재하는 경우 각각 오류 매개변수와 데이터 매개변수를 포함하는 인수로 전달되는 함수입니다. 400은 오류를 설명하는 상태 코드입니다.

      fs.readFile(filename, function(err, data) {
        if (err) {
          res.writeHead(404, {'Content-Type': 'text/html'});
          return res.end("404 Not Found");
        } 
        res.writeHead(200, {'Content-Type': 'text/html'});
        res.write(data);
        return res.end();
      });
    }) 
    


    그래서 나는 내 서버를 운영한다.


    포트 8080에서 기본 서버 페이지를 요청합니다.


    다른 경로 요청


    내 서버 프로그램과 같은 폴더에 있는 index.html 파일을 요청합니다.


    같은 폴더에 있는facts.html 파일도 요청합니다.


    배운 것
  • http,url 및 파일 시스템 모듈을 결합하여 클라이언트에 파일을 제공하는 파일 서버를 만듭니다.
  • 모듈

  • 리소스: Google, W3Schools.com, Stackoverflow, Geeksforgeeks.org.

    좋은 웹페이지 즐겨찾기