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
728x90
'액티브 스킬 > 노드' 카테고리의 다른 글
<Node.js> 쿠키-세션 (0) | 2022.03.15 |
---|---|
<Node.js> express.urlencoded가 필요한 이유 (0) | 2022.03.02 |
<Node.js> TypeError: expressHandlebars is not a function (0) | 2021.12.11 |
<Node.js> multer middleware (0) | 2021.12.02 |
<Node.js> Express (Routes, Controllers, URL parameter) (0) | 2021.11.07 |