빠른 참조

Node.js path 모듈 치트시트

Node.js path 모듈에 대한 빠른 참조 가이드: 경로 확인 및 결합, 디렉터리 이름 및 확장자 추출, 상대 경로 및 경로 정규화.

· 게시일

Node.js path 모듈은 파일 및 디렉터리 경로를 여러 운영체제 간에 안전하고 일관되게 처리할 수 있는 유틸리티를 제공합니다.

경로 결합 및 확인 (join vs resolve)

const path = require('path');

// 세그먼트를 결합하고 결과 경로를 정규화
path.join('/users', 'local', 'bin', '..');
// => '/users/local'

// cwd를 기준으로 오른쪽에서 왼쪽으로 절대 경로를 확인
path.resolve('src', 'index.js');
// => '/current/working/dir/src/index.js'

경로 구성 요소 분해

const fullPath = '/workspace/project/src/main.ts';

path.dirname(fullPath);
// => '/workspace/project/src' // 디렉터리 이름

path.basename(fullPath);
// => 'main.ts' // 확장자를 포함한 파일 이름

path.basename(fullPath, '.ts');
// => 'main' // 확장자를 제외한 파일 이름

path.extname(fullPath);
// => '.ts' // 파일 확장자

path.parse(fullPath);
// 경로를 속성 객체로 파싱
// {
//   root: '/',
//   dir: '/workspace/project/src',
//   base: 'main.ts',
//   ext: '.ts',
//   name: 'main'
// }

상대 경로 계산 및 정규화

// A에서 B까지의 상대 경로
path.relative('/data/orandea/test/aaa', '/data/orandea/impl/bbb');
// => '../../impl/bbb'

// 중복된 구분 기호와 마침표를 정리하여 정규화
path.normalize('/foo/bar//baz/asdf/quux/..');
// => '/foo/bar/baz/asdf'

플랫폼별 경로 구분자 상수

// 경로 구분 기호: POSIX는 '/', Windows는 '\'
path.sep;

// PATH 환경 변수 구분 기호: POSIX는 ':', Windows는 ';'
path.delimiter;

관련 참고 자료

관련 주제