path 에 대한 고찰

Younghwan Cha·2022년 12월 22일
0

typeScript 를 통해서 개발을 하던 중 특정 디렉토리의 파일들을 읽어오는 코드를 작성였다.
처음에는 당연하게도 현재 경로에 기반한 상대 경로를 사용하여 로직을 작성하였는데, 여기에서 문제가 발생하였다.
../../ 와 같이 상대 경로로 작성을 하니까, 해당 파일이 존재하는 디렉토리 이외의 디렉토리에서는 파일을 찾지 못했다.
또한, 올바른 경로에서 실행했더라고 하더라도 이를 빌드한 파일에서는 해당 파일을 찾을 수 없었다.
이는 어찌보면 당연한 이야기이지만, 뒤통수를 맞은 기분이었다.

이에, fileURLToPath 함수를 사용하여 root 경로를 지정하여 문제를 해결했다.

# 현재 경로
const __dirname = fileURLToPath(import.meta.url)

# 특정 파일을 루트로 지정
const __dirname = fileURLToPath(new URL('foo.js', import.meta.url));
profile
개발 기록

0개의 댓글