โ ์ฝ๋๋ฅผ ์ง๊ธฐ ์ํด ์ฒ์ฌ์ผ ํ์๋ ์๋ค! ๊ทธ๋ฅ ์์ํ๋ผ. โ
- `Vanessa Hurst's`
Girl Develop It ์ฐฝ์ ์

__dirname ์ __filename
๋ ธ๋์์๋ ๋ชจ๋ ๊ด๊ณ๊ฐ ์๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ ํ์ฌ ํ์ผ์ ๊ฒฝ๋ก๋ ํ์ผ๋ช ์ ์์์ผ ํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค.
๋ ธ๋๋ __filename, __dirname ์ด๋ผ๋ ํค์๋๋ก ๊ฒฝ๋ก์ ๋ํ ์ ๋ณด๋กค ์ ๊ณตํ๋ค.
ํ์ผ์ __filename, __dirname ๋ณ์๋ฅผ ๋ฃ์ด๋๋ฉด ์คํ์ ํ์ฌ ํ์ผ๋ช ๊ณผ ํ์ผ ๊ฒฝ๋ก๋ก ๋ฐ๋๋ค.
์๋ ์์ ์ js ํ์ผ์ ์์น๋ /Users/ano/temp/directory.js ์ด๋ค.
// file ๋ช
์ ํฌํจํ ์ ๋๊ฒฝ๋ก
console.log(__filename); // C:/Users/ano/temp/directory.js
// file ๋ช
์ ์ ์ธํ ์ ๋ ๊ฒฝ๋ก
console.log(__dirname); // C:/Users/ano/temp
__dirname ์ process.cwd()
process.cwd()๋ node๋ช ๋ น์ ํธ์ถํ ์์ ๋๋ ํฐ๋ฆฌ์ ์ ๋๊ฒฝ๋ก์ด๋ค
๋ง์ผ C ๋๋ ํ ๋ฆฌ์์ ๋ ธ๋ ์คํ๋ช ๋ น์ ๊ฒฝ๋ก๋ฅผ ํตํด ์ฃผ๊ฒ ๋๋ค๋ฉด,
C: > node Users/ano/temp/directory.js
// __dirname์ ํ์ฌ ์คํํ๋ ํ์ผ์ ์ ๋๊ฒฝ๋ก์ด๋ค
console.log(__dirname); // C:/Users/ano/temp
// process.cwd()๋ node๋ช
๋ น์ ํธ์ถํ ์์
๋๋ ํฐ๋ฆฌ์ ์ ๋๊ฒฝ๋ก์ด๋ค
console.log(process.cwd()); // C:
๊ฒฝ๋ก๋ฅผ ๋๋ ์ด์ ๐ฅ
cmd์์ ์๋ฒ๋ฅผ ์คํํ jsํ์ผ ์์น์ ๋ฐ๋ผ์ ์๋๊ฒฝ๋ก๊ฐ ๋ฌ๋ผ์ง๊ธฐ ๋๋ฌธ์ด๋ค.
์ฐ๋ฆฌ๋ ๋ณดํต ์ ๋๊ฒฝ๋ก๊ฐ ์๋ ์๋๊ฒฝ๋ก ๊ธฐ์ค์ผ๋ก ./ํ์ผ.js ๋ก src๋ฅผ ๋ถ๋ฌ์ค๊ธฐ ๋๋ฌธ์,
์๋๊ฒฝ๋ก๊ฐ ๋ฌ๋ผ์ง๋ฉด, ํ์ผ์ ๋ชป๋ถ๋ฌ์ 404 ์๋ฌ๋ฅผ ๋ผ์ ์๋ค.

ch4์ ์๋ ํ์ผ์ ์คํํ๊ธฐ ์ํด ๊ฒฝ๋ก๋ฅผ ์ฃผ์ด ์คํํ์๋ค.
ํ์ง๋ง ๋ ธ๋์คํ ๊ฒฝ๋ก๋ NODE์ด๊ธฐ ๋๋ฌธ์, ์๋๊ฒฝ๋ก๋ NODE๋ฅผ ๊ธฐ์ค์ผ๋ก ์กํ๊ฒ ๋๋ค.
์ด๋ __dirname์ ์จ์ ํ์ผ์คํ ๊ฒฝ๋ก๋ฅผ ๊ธฐ์ค์ผ๋ก ์ก์์ค์ผ ํ๋ค.
์ด ๊ธ์ด ์ข์ผ์ จ๋ค๋ฉด ๊ตฌ๋ & ์ข์์
์ฌ๋ฌ๋ถ์ ๊ตฌ๋
๊ณผ ์ข์์๋
์ ์์๊ฒ ํฐ ํ์ด ๋ฉ๋๋ค.