본문 바로가기
Nodejs

[Nodejs]path 사용하기

by teamnova 2024. 9. 25.
728x90

오늘은 path 모듈의 여러 기능을 사용한 예시를 만들어 보겠습니다.

 

Nodejs 의 path 모듈은 파일 및 디렉토리 경로 작업을 위한 유틸리티를 제공하는 모듈입니다.

 

 

1.프로젝트 생성 및 초기

mkdir 생성할 폴더명
cd 방금 생성한 폴더명
npm init -y

=> 원하는 경로에 폴더를 생성하고 해당 폴더로 이동 후 프로젝트 생성 및 초기화 시켜줍니다.

 

 

 

2.path 모듈 사용할 js 파일 생성

touch js파일명

 

 

저는 위 이미지와 같이 생성하였습니다.

 

 

 

3.path 모듈 사용할 js 파일 코드 작성

// path 모듈 import
const path = require('path');

// 경로 결합
// 여러 개의 경로 요소들을 하나의 경로로 결합
// 실제 파일이나 디렉토리가 있는지 여부와 상관없이 문자열 경로로 결합함.
const joinedPath = path.join('/users', 'test', 'example.txt');
console.log('결합한 경로:', joinedPath);
console.log('-----------------------------------------------------------------');

// 경로 정상화 처리
// 역할
// 1.입력한 경로 문자열에서 불필요한 요소 제거 
// 2.상대경로 식별자 ..(상위 디렉토리), .(현재 디렉토리) 같은 표현에 대해 적절한 해석 처리
// 3.경로 구분자 통일 처리(윈도우의 \ 나 posix의 / 로 체계에 맞게 경로 문자열 처리)
const normalizedPath = path.normalize("/폴더1/폴더2/../폴더3//파일.txt");
console.log(normalizedPath);
console.log('-----------------------------------------------------------------');

// 절대 경로 변환
// 특정 경로를 추가해 절대 경로로 변환
// /가 붙은 경로가 기준이 되는 절대 경로의 시작점이됨
// /를 붙인 경로를 넣지 않는다면 현재 파일이 있는 디렉토리 경로 정보를 가져옴
const resolvedPath = path.resolve('가나다', '파일.txt');
console.log('추가해 만든 절대 경로:', resolvedPath);
console.log('-----------------------------------------------------------------');

// 경로 정보 파싱
// 특정 경로를 파싱하여 root, dir, base, ext, name 속성으로 경로 정보를 분리
// root(루트 디렉토리, window라면 C:\\ 나 D:\\ 같은 것, 리눅스라면 보통 /)
// dir(해당 파일 또는 디렉토리를 가지고 있는 상위 디렉토리까지의 경로)
// base(확장자명을 포함한 해당 파일 또는 디렉토리의 이름)
// ext(경로의 정보가 파일인 경우 해당 파일의 확장자명)
// name(해당 디렉토리 또는 파일의 이름)
const parsedPath = path.parse('/users/test/example.text');
console.log('파싱한 경로 정보:', parsedPath);
console.log('-----------------------------------------------------------------');

// 파일 확장자 추출
// 파일 경로에서 파일의 확장자 반환
// 디렉토리라면 빈문자열 반환
const extension = path.extname('example.txt');
console.log('파일 확장자명:', extension);
console.log('-----------------------------------------------------------------');

// 파일 이름 추출
// 파일 경로에서 파일의 전체 이름(확장자 포함)을 반환
const basename = path.basename('/users/test/example.txt');
console.log('확장자 포함 파일명:', basename);
console.log('-----------------------------------------------------------------');

// 상위 디렉토리 이름 추출
// 해당 파일 또는 디렉토리를 가지고 있는 상위 디렉토리 경로 부분까지 추출
const dirname = path.dirname('/users/test/example');
console.log('상위 디렉토리명:', dirname);

 

 

 

실행 결과

 

 

주의

POSIX 표준에 따른 운영체제와 Window 관련 아래 이미지 처럼 원하는 결과가 다르게 나올 수 있습니다.

만약 운영체제에서 특정 방식의 결과로 일관되게 나오길 원한다면 win32 나 posix를 붙여 사용해주세요.

win32 나 posix 안 붙인 경우 결과 차이 예시

 

관련 자세한 설명 주소

https://nodejs.org/api/path.html

 

Path | Node.js v22.7.0 Documentation

Path# Source Code: lib/path.js The node:path module provides utilities for working with file and directory paths. It can be accessed using: const path = require('node:path'); copy Windows vs. POSIX# The default operation of the node:path module varies base

nodejs.org

 

'Nodejs' 카테고리의 다른 글

[Nodejs]argon2 사용하기  (0) 2024.09.19
[Nodejs]express 사용 예시 만들기  (2) 2024.09.01
[Nodejs]ES 모듈 관련 예시 만들기  (0) 2024.08.26
[Nodejs]babel 활용하기  (0) 2024.08.20
[Nodejs]mysql2 활용하기  (0) 2024.08.14