[NODE] π __dirname / __filename / process.cwd() μ°¨μ΄ μ 리
__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μ μ¨μ νμΌμ€ν κ²½λ‘λ₯Ό κΈ°μ€μΌλ‘ μ‘μμ€μΌ νλ€.