액티브 스킬/노드

<Node.js> __dirname 이해하고 가기

디벅잉 2021. 12. 19. 00:05
728x90

 

🚀

 

{ __dirname }

무엇인가요?

"__"는 자바스크립트에서 기본적으로 정의된 변수에 붙습니다.

"dirname"은 directory와 name의 합성어입니다.

현재의 파일(file)이 위치한 폴더(directory)의 절대경로(absolute path)를 알려줍니다.

cf) process.cwd()는 항상 프로젝트 폴더(directory)를 반환합니다.

cf) __filename은 현재 파일명을 알려줍니다.

 

어떻게 사용하나요?

__dirname는 환경 변수(environment variable)로써 따로 정의할 필요없이 사용할 수 있습니다.

// index.js
console.log(`process.cwd(): ${process.cwd()}`);
console.log(`__dirname: ${__dirname}`);
console.log(`__filename: ${__filename}`);
// 콘솔 출력 결과
process.cwd(): C:\...\[projectName]
__dirname: C:\...\[projectName]\src
__filename: C:\...\[projectName]\src\[fileName]

 

왜 사용하나요?

1. 새 폴더(directory)를 만들기 위해 사용합니다.

const fs = require("fs");
const path = require("path");
const dirPath = path.join(__dirname, "/pictures");

fs.mkdirSync(dirPath);

현재 파일(file)과 같은 폴더(directory) 내에 "pictures"라는 새로운 폴더(directory)를 만듭니다.

2. 특정 폴더(directory)를 지정하기 위해 사용합니다.

express.static(path.join(__dirname, '/public'));

정적 파일(static file)들을 포함하는 폴더(directory)를 특정하여 노드에서 활용할 수 있습니다.

 

📌

 

https://www.digitalocean.com/community/tutorials/nodejs-how-to-use__dirname

 

How To Use __dirname in Node.js | DigitalOcean

__dirname is an environment variable that tells you the absolute path of the directory containing the currently executing file. In this article, you will explore how to implement __dirname in your Node.js project.

www.digitalocean.com

 

728x90