Cara Mendapatkan Path ke File JavaScript Saat Ini di Node.js

Dibuat
·
Dilihat18 kali
0

Saya ingin mendapatkan path ke file skrip JavaScript saat ini di Node.js, saya telah mencoba menggunakan process.cwd() sepertinya path yang dikembalikan dari fungsi ini mengambil current working directory (CWD) terminal saya.

Jika file JavaScript saya berada di /home/budi/test-path/src/index.js dan isinya seperti ini:

console.log(process.cwd());

Kemudian saya eksekusi dari /home/budi menggunakan perintah node /home/budi/test-path/src/index.js output dari file skripnya adalah /home/budi, output yang saya harapkan adalah path lengkap ke file JavaScript yang dieksekusi yaitu /home/budi/test-path/src/index.js, bagaimana caranya ya?

1 Jawaban
0

Memang begitu perilaku fungsi process.cwd().

Kalau pakai module CommonJS bisa menggunakan __filename untuk mendapatkan path lengkap ke file saat ini, atau __dirname kalau mau mendapatkan path ke direktori dimana file skrip berada.

console.log(__filename); // /home/budi/test-path/src/index.js
console.log(__dirname); // /home/budi/test-path/src

Kalau pakai module ECMAscritpt kedua variabel tersebut tidak ada, solusinya bisa menggunakan variabel global import.meta.url dengan fungsi fileURLToPath() seperti ini:

import { dirname } from "path";
import { fileURLToPath } from "url";

// file
const __filename = fileURLToPath(import.meta.url);
console.log(__filename); // /home/budi/test-path/src/index.js

// direktori
const __dirname = dirname(__filename);
console.log(__dirname); // /home/budi/test-path/src
Dibuat

Kamu tau jawabannya?

Ayo bergabung bersama lebih dari 200.000 pengguna lainnya!