Nodejs 파일 시스템(fs) 및 경로 모듈 작업

이것은 아마도 매우 긴 게시물 시리즈의 첫 번째 부분입니다.
이번 포스트에서는 node.js 파일 시스템(fs)과 path 모듈을 어떻게 사용하는지 설명하겠습니다.

기대



이 게시물은 JavaScript 및 Node.js에 대한 기본 지식을 가정합니다.

Node.js fs 모듈이란 무엇입니까?



관계자에 따르면node.js documentation

The fs module provides a lot of very useful functionality to access and interact with the file system.



즉, fs 모듈을 사용하면 파일과 디렉토리를 생성, 편집 및 삭제할 수 있습니다.

메모
JavaScript는 기본적으로 동기식이며 단일 스레드입니다. 이는 코드가 새 스레드를 생성하고 병렬로 실행할 수 없음을 의미합니다.

지루한 내용은 이제 그만 코딩해 보겠습니다.
파일과 디렉토리를 조작할 수 있는 fs 모듈에서 사용할 수 있는 다양한 방법에 대해 알아보겠습니다.

시작하려면 다음 디렉토리로 새 node.js 프로젝트를 생성해 보겠습니다.



우리의 코드는 당신이 짐작한 대로 index.js 파일로 들어갈 것입니다.

새 디렉토리를 만드는 방법



새 디렉토리를 생성하려면 먼저 fs 모듈이 필요하고 fs 모듈의 mkdir 또는 mkdirSync 메서드를 사용해야 합니다. 이것을 귀하의 index.js에 추가하십시오.

const fs = require("fs");

// create a new directory 'assets' in the root directory
const folderPath = "./assets";

fs.mkdirSync(folderPath);



내가 mkdirSync 방법을 사용하고 mkdir 방법을 사용하지 않은 이유가 궁금할 것입니다.
Node.js는 파일 시스템을 비동기식으로 작업할 수 있는 방법을 제공하므로 대부분의 fs 메서드에는 동기 버전과 비동기 버전이 모두 있습니다. 우리의 경우 동기 방법을 사용하기로 결정했습니다.

디렉토리에 파일을 만드는 방법



다음으로 writeFile 또는 writeFileSync 메서드를 사용하여 자산 디렉토리 내부에 텍스트 파일을 생성합니다.

let fileContent = "Now is the winter of our discontent
Made glorious summer by this sun of York;
And all the clouds that lour'd upon our house
In the deep bosom of the ocean buried";

// create a file named 'shakespear.txt'
let filePath = folderPath + '/shakespear.txt';
fs.writeFileSync(filepath, fileContent);


그게 다야
이제 파일과 디렉토리를 생성했으므로 다음으로 디렉토리에 있는 파일을 읽고 콘솔에 기록할 것입니다.

디렉토리의 모든 파일을 읽는 방법



자산 디렉토리의 모든 파일을 가져오려면 readdir 모듈의 readdirSync 또는 fs 메서드를 사용합니다.readdirSync는 배열을 반환합니다.

// Read and returns the name of all files in the directory
try{
  files = fs.readdirSync(folderPath);
}catch(error){
  console.log(error);
}


좋아. 이제 디렉토리를 생성하고 파일에 쓰고 디렉토리의 모든 파일을 나열할 수 있습니다.
아래는 index.js 의 전체 코드입니다.

const fs = require("fs");

// create a new directory 'assets' in the root directory
const folderPath = "./assets";

fs.mkdirSync(folderPath);

// create a file named 'shakespear.txt'
let fileContent = "Now is the winter of our discontent
Made glorious summer by this sun of York;
And all the clouds that lour'd upon our house
In the deep bosom of the ocean buried";

let filePath = folderPath + '/shakespear.txt';
fs.writeFileSync(filepath, fileContent);

// Read and returns the name of all files in the directory
try{
  files = fs.readdirSync(folderPath);
}catch(error){
  console.log(error);
}



fs 모듈에 대해 자세히 알아보려면 공식node.js documentation을 방문하세요.
다음 게시물에서 fs 와 같은 rename 모듈 메서드의 더 많은 예제를 제공할 것입니다. 여기서 몇 줄의 코드로 자산 폴더의 모든 파일 이름을 일괄적으로 변경하고 더 자세히 설명하겠습니다. 경로 모듈에서.

제안이나 수정 사항이 있으면 주저하지 말고 연락하십시오.

좋은 웹페이지 즐겨찾기