코드/Node

[Node] url.fileURLToPath, path.resolve

Yeah-Panda 2024. 11. 14. 17:53

url.fileURLToPathpath.resolve는 각각 다른 방식으로 파일 경로를 처리하며, 서로 다른 목적을 가지고 있습니다.

Node.js 환경에서 파일 경로를 다룰 때 유용하지만, 사용하는 상황에 따라 차이가 있습니다.

 

1. url.fileURLToPath

  • url.fileURLToPath는 URL 객체나 file URL 문자열을 로컬 파일 경로로 변환합니다.
  • 주로 file:// 스킴으로 시작하는 파일 URL을 일반 파일 시스템 경로로 변환할 때 사용됩니다. 예를 들어, URL 객체를 통해 파일 경로를 설정하거나 읽을 때 유용합니다.
import { fileURLToPath } from 'url';

const fileURL = new URL('file:///Users/example/path/to/file.txt');
const filePath = fileURLToPath(fileURL);
console.log(filePath); // '/Users/example/path/to/file.txt'
  • 주요 사용처: ES 모듈 환경에서 import.meta.url을 사용할 때, URL을 파일 시스템 경로로 변환해야 하는 경우 유용합니다.

 

 

2. path.resolve

  • path.resolve는 상대 경로를 절대 경로로 변환하는 함수로, 주어진 경로 조각들을 조합해 현재 파일 시스템에 맞는 절대 경로를 반환합니다.
  • 주로 상대 경로를 절대 경로로 변환하거나, 여러 경로를 하나로 합칠 때 사용됩니다.
import path from 'path';

const absolutePath = path.resolve('src', 'components', 'MyComponent.vue');
console.log(absolutePath); // 예: '/Users/example/project/src/components/MyComponent.vue'
  • 주요 사용처: 프로젝트 루트 경로 또는 특정 디렉토리를 기준으로 여러 경로를 조합할 때 자주 사용됩니다.

 

차이점 요약

기능  

url.fileURLToPath path.resolve
목적 URL 객체나 file URL을 파일 경로로 변환  상대 경로를 절대 경로로 변환하거나 경로를 조합
주요 사용처 파일 URL(file://...)을 파일 시스템 경로로 변환  프로젝트 내에서 여러 경로를 합치고 절대 경로로 변환
필요인자 형식 URL 객체 또는 file:// 형식의 문자열 파일 경로 조각(문자열)
사용 예시 fileURLToPath(new URL('file:///path/to/file.txt'))  path.resolve('src', 'components', 'MyComponent.vue')