Saya telah mengembangkan program node.js menggunakan framework express di komputer saya, di mana ia berjalan dengan baik tanpa keluhan.
Namun, ketika saya menjalankan program pada alat SUSE Studio saya, di mana ia dimaksudkan untuk tinggal, saya menerima kesalahan di setiap interaksi file.
Error: ENOENT, stat './path/to/file'
Saya telah memeriksa bahwa hak akses file sudah benar, dan benar. Komputer dan alat saya menjalankan versi node yang berbeda, jika ini penting.
Adakah pikiran?
__dirname + 'path/to/file';
Jawaban:
Path yang ditentukan dengan a
.
relatif terhadap direktori kerja saat ini, bukan relatif terhadap file skrip. Jadi file tersebut mungkin ditemukan jika Anda menjalankannode app.js
tetapi tidak jika Anda menjalankannode folder/app.js
. Satu-satunya pengecualian untuk ini adalahrequire('./file')
dan itu hanya mungkin karenarequire
ada per-modul dan dengan demikian tahu darimana modul itu dipanggil.Untuk membuat jalur relatif ke skrip, Anda harus menggunakan
__dirname
variabel.atau berpotensi
sumber
Di sini kode untuk menggunakan app.js Anda
input menentukan nama file
sumber