Node.js에서 파일 경로 작업

완료됨

Tailwind Traders의 새 개발자는 파일 및 폴더에 대한 경로를 관리하는 방법을 알아야 합니다. 파일이나 폴더가 많으면 경로를 수동으로 작성하는 작업이 지루해질 수 있습니다. Node.js는 파일 경로를 더 쉽게 만들 수 있는 몇 가지 기본 제공 상수 및 유틸리티를 제공합니다.

__dirname 사용하여 현재 디렉터리 확인

프로그램이 실행 중인 디렉터리를 모르는 경우가 있습니다. 단지 현재 디렉터리의 경로를 사용하게 하려고 합니다.

📂 stores
    📂 201
        📂 sales

Node.js는 __dirname 상수를 통해 현재 디렉터리의 전체 경로를 공개합니다.

console.log(__dirname);

다음 폴더 구조의 판매 폴더에서 해당 코드를 실행하는 경우 값은 _dirname 다음과 같습니다.

/stores/201/sales

경로 모듈을 사용하여 경로 작업

경로는 자주 언급되는 주제이므로 Node.js에는 경로 작업을 위한 path라는 모듈이 포함되어 있습니다.

fs 모듈과 마찬가지로 path 모듈은 Node.js와 함께 제공되며 설치하지 않아도 됩니다. 파일 맨 위에서 참조하기만 하면 됩니다.

const path = require("path");

path.join을 사용하여 경로 조인

path 모듈은 문자열인 파일 및 폴더 경로 개념을 사용하여 작동합니다. 예를 들어 stores/201 폴더의 경로를 가져오려는 경우 path 모듈을 사용할 수 있습니다.

const currentPath = path.join("stores", "201");
console.log(currentPath); // stores/201

const fullPath = path.join(__dirname, "stores", "201");
console.log(fullPath); // /nodejs-files/stores/201

문자열을 연결하는 대신 path 모듈을 사용하는 이유는 프로그램이 Windows 또는 Linux에서 실행될 수도 있기 때문입니다. path 모듈은 프로그램이 실행되는 운영 체제에 관계없이 올바른 형식의 경로를 제공합니다. 앞의 예제에서 path.join은 Windows에서 슬래시 대신 백슬래시를 사용하여 stores\201을 반환합니다.

path.extname을 사용하여 파일 이름 확장명 확인

경로 모듈은 파일 이름의 확장명을 식별할 수도 있습니다. 파일이 있고 JSON 파일인지 식별하려는 경우 path.extname 메서드를 사용할 수 있습니다.

console.log(path.extname("sales.json"));

출력은 다음과 같습니다.

.json

path 모듈은 항목이 실제로 있는지 여부를 확인하지 않습니다. 경로는 실제가 아닌 개념입니다. 단지 문자열을 작성하고 구문 분석할 뿐입니다.

파일 또는 경로에 대해 알아야 하는 모든 정보 가져오기

path 모듈에는 다양한 작업을 수행하는 여러 메서드가 포함되어 있습니다. 그러나 parse 메서드를 사용하여 경로 또는 파일에 대해 필요한 정보를 대부분 가져올 수 있습니다. 이 메서드는 현재 디렉터리, 파일 이름, 파일 이름 확장명, 확장명이 없는 파일 이름을 포함하는 개체를 반환합니다.

const currentPath = path.parse("stores/201/sales.json")
console.log(currentPath);

const fullPath = path.join(__dirname, "stores", "201", "/sales.json");
console.log(path.parse(fullPath));

출력은 다음과 같습니다.

{
  root: '',
  dir: 'stores/201',
  base: 'sales.json',
  ext: '.json',
  name: 'sales'
}
{
  root: '/',
  dir: '/workspaces/node-essentials/nodejs-files/stores/201',
  base: 'sales.json',
  ext: '.json',
  name: 'sales'
}

path 모듈에는 더 유용한 여러 유틸리티 메서드가 있지만, 여기서 설명한 메서드가 가장 자주 사용되는 핵심 개념입니다. 다음 연습에서는 path 모듈을 사용하여 경로를 작성하고 .json 파일을 확인합니다.