Baru-baru ini, saya telah menggunakan Nodejs untuk hampir semua proyek saya, salah satu teknologi backend paling disukai yang tersedia saat ini. Setelah beberapa proyek dengan Nodejs, saya segera menyadari bahwa sebagian besar pengembang seperti saya mengalami kesulitan mengidentifikasi perbedaan halus antara dua objek global node, sehingga __dirname dan proses. cwd() Show Apa itu NodeJS?Node. js adalah runtime JavaScript sumber terbuka yang dibangun di atas Mesin V8 Chrome. JavaScript tradisional dijalankan di browser tetapi dengan Node. js kita dapat mengeksekusi JavaScript di server, perangkat keras, dll Sekarang, mari kita lihat apa variabel global ini dan bagaimana perbedaannya dalam pekerjaannya __dirnameIni adalah variabel lokal yang mengembalikan nama direktori modul saat ini. Ini mengembalikan lokasi folder file JavaScript saat ini proses. cwd()Node. js memiliki objek global yang disebut global, dan objek proses terletak di dalam objek global Demonstrasi Praktis
Jalankan aplikasi. js di terminal
Masuk ke mode layar penuh Keluar dari mode layar penuh KELUARAN _Masuk ke mode layar penuh Keluar dari mode layar penuh
cuplikan kode di try/try. js cuplikan kode untuk aplikasi. js
Masuk ke mode layar penuh Keluar dari mode layar penuh KELUARAN
Masuk ke mode layar penuh Keluar dari mode layar penuh Output di atas menunjukkan bahwa direktori file try. js ada di blog6/coba sedangkan proses simpul saat ini berjalan di folder blog6/ KesimpulanMeskipun variabel cakupan di atas, penting untuk diperhatikan perbedaan berikut untuk mengetahui variabel mana yang akan dipanggil kapan saja dalam aplikasi Anda Perbedaan antara __dirname dan proses. cwd()__dirnameproses. cwd() Mengembalikan nama direktori dari direktori yang berisi file kode sumber. Ini mengembalikan nama direktori kerja saat ini tempat proses NodeJS dilayani. Itu tergantung pada direktori saat ini. Itu tergantung pada perintah simpul yang memohon. Itu lokal untuk setiap modul. Ini adalah objek global node Sebagai pengembang NodeJS, sangat penting untuk mengetahui cara menggunakan variabel-variabel ini karena terkadang sangat membingungkan dan memicu bug yang tidak perlu di aplikasi Anda Jika Anda sedang membangun Node. Aplikasi js dengan modul ES alih-alih modul CommonJS ("impor" alih-alih "wajib", dalam istilah yang lebih sederhana), Anda harus melakukan sesuatu sebelum menulis __filename dan __direname dalam kode Anda MasalahDi Node. js. Iklan
Hal-hal itu belum siap digunakan jika Anda bekerja dengan modul ES dan Anda akan menemui kesalahan berikut. Iklan _Dan
Jangan panik. Solusinya hanya beberapa baris kode SolusinyaInilah cara kami memecahkan masalah _Saat menjalankan kode sebelumnya, Anda akan melihat keluaran yang mirip dengan ini
KesimpulanAnda telah mempelajari cara menggunakan __dirname dan __filename saat bekerja dengan modul ES6 di Node.js. js. Jika Anda ingin menjelajahi hal-hal yang lebih modern dan menarik tentang runtime Javascript, lihat artikel berikut. Iklan Bagaimana Anda menggunakan __ dirname dalam sebuah modul?Untuk mendapatkan kembali __dirname (dan __filename ), Anda dapat menambahkan kode seperti ini di bagian atas file apa pun yang memerlukannya. impor * sebagai url dari 'url'; . fileURLToPath(import.
Apa itu dirname di jalur?dirname() method mengembalikan direktori jalur file .
Bagaimana cara mendapatkan dirname di JavaScript?Anda dapat menggunakan __dirname untuk memeriksa di direktori mana file Anda berada. Kemudian, jalankan skrip. simpul src/api/controller. js .
Apa itu __ dirname di Webpack?Opsi __dirname di webpack
. Dirname file input relatif terhadap opsi konteks |