web

[Node.js] __dirname 사용법

inthyes 2023. 8. 4. 10:56

__dirname   : directory + name으로 현재 파일이 위치한 폴더의 절대 경로를 알려주는 역할을 한다.

 

특정 파일 내에서 console을 출력하면 아래와 같이 출력된다.

  console.log("__dirname", __dirname);

 

출력 내용

__dirname C:\ ... \excel-convert-project\server\routes

 

왜 사용해야할까?

javascript파일에 따라 상대경로가 달라지고 이로 인해 파일을 불러오지 못하는 경우가 발생된다.

절대 경로를 사용함으로서 이러한 일을 방지할 수 있다.

 

파일 상단에 아래와 같이 선언한 후 여러 함수에서 사용할 수 있도록 한다.

const fileDirectory = path.join(__dirname, "../downloaded/");

 

함수 내에서 아래와 같이 다른 경로를 선언할 때 전역변수인 fileDirectory의 경로를 활용할 수 있다.

const excelFilePath = path.join(fileDirectory, ExcelName);

 

파일을 다운로드 받고 다운로드 받기위해 클라이언트에 url을 전달하는 작업을 하기 전까지 절대 경로에 대한 필요성을 크게 느끼지 못하였는데 파일 다운로드에는 경로가 가장 중요하기에 이번 기회를 통해 절대 경로에 대한 중요성을 느낄 수 있었다.