Bagaimana Mengatasi Kesalahan “Tidak dapat menemukan modul” Menggunakan Node.js?

Bagaimana Mengatasi Kesalahan Tidak Dapat Menemukan Modul Menggunakan Node Js



Seperti bahasa pemrograman lainnya, Node.js tidak perlu memecah kode sumber aplikasi menjadi bagian-bagian kecil. Itu menulis semua kode sumber ke dalam file “.js” dan penerjemah tidak menyebabkan masalah apa pun. Namun, saat membuat aplikasi Node.js yang sangat kompleks, disarankan untuk membagi kode sumber menjadi modul-modul yang lebih kecil dan kemudian menggabungkannya menjadi aplikasi yang kohesif.

Garis Besar Singkat

Apa itu Modul di Node.js?

Di Node.js, “ modul ” berhubungan dengan perpustakaan yang membangun koneksi dengan aplikasi berdasarkan konteksnya. Hal ini memungkinkan pengembang untuk menggunakan kembali kode yang dienkapsulasi kapan pun diperlukan. Ini dikategorikan ke dalam tiga kategori utama: modul “bawaan”, “lokal” dan “pihak ketiga”. Modul-modul ini selanjutnya berisi berbagai metode dan properti yang melakukan operasi yang ditentukan sesuai dengan fungsinya.







Bagaimana Mengatasi Kesalahan “Tidak dapat menemukan modul” Menggunakan Node.js?

Bagian ini mencantumkan semua kemungkinan alasan yang menghasilkan kesalahan 'Tidak dapat menemukan modul' dan juga memberikan solusi yang bisa diterapkan untuk mengatasinya:



Alasan 1: Modul yang Diperlukan Tidak Terpasang

Alasan paling umum untuk “ Tidak dapat menemukan modul ” Kesalahan adalah yang diperlukan “ modul pihak ketiga tidak diinstal ” dalam proyek Node.js saat ini. Misalkan, kita mengimpor modul “mysql” pihak ketiga di aplikasi Node.js dengan cara ini:



konstanta mysql = memerlukan ( 'mysql' ) ;

Dalam perintah di atas, “ memerlukan() Metode ” menyertakan modul “mysql” ke aplikasi node.js saat ini.





Jalankan file “.js”:

indeks simpul. js

Output di bawah ini menghasilkan kesalahan yang dibahas karena modul “mysql” tidak diinstal di proyek Node.js saat ini:



Solusi: Instal Modul yang Diperlukan

Solusi untuk kesalahan yang dibahas di atas adalah menginstal modul yang diperlukan dengan benar dengan bantuan “ npm / benang ” manajer paket. Untuk skenario ini, modul “mysql” yang diperlukan diinstal dengan perintah instalasi “npm”:

npm instal mysql

Outputnya menunjukkan keberhasilan instalasi modul “mysql” di proyek Node.js saat ini:

Sekarang jalankan kembali file “.js”:

indeks simpul. js

Dapat dianalisis bahwa perintah di atas berhasil dijalankan tanpa menghasilkan kesalahan “Tidak dapat menemukan modul”:

Alasan 2: Jalur Modul Salah

Alasan lain untuk “ Tidak dapat menemukan modul 'kesalahan adalah' jalur modul yang salah ”. Biasanya ini terjadi ketika pengguna mengimpor modul lokal melalui jalur relatifnya. Misalkan, pengguna membuat modul khusus ke dalam folder tertentu dan mengimpornya ke aplikasi Node.js. Sebelum melakukan ini, pastikan jalur yang ditentukan sudah benar jika tidak, kesalahan yang dibahas akan terjadi.

Misalnya, modul lokal/yang ditentukan pengguna bernama “ modul saya ” ada di folder “./custom-modules”:

Pengguna mengimpor “myModule” yang disorot di atas ke dalam aplikasi Node.js saat ini melalui jalur relatifnya:

konstanta bahasa = memerlukan ( './Modulku' ) ;

Jalankan file “.js”:

indeks simpul. js

Dapat dilihat bahwa karena jalur 'myModule' yang salah, Kesalahan 'Tidak dapat menemukan modul' dihasilkan:

Solusi: Tentukan Jalur Modul yang Benar

Solusi untuk kesalahan yang dibahas di atas adalah dengan menentukan jalur yang benar atau tepat dari modul di mana ia berada. Di sini, kami melewati jalur yang benar “myModule” untuk mengatasi kesalahan “Tidak dapat menemukan modul”:

konstanta bahasa = memerlukan ( './custom-modules/myModule' ) ;

Jalankan file “.js”:

indeks simpul. js

Dapat diamati bahwa keluaran di bawah ini tidak menunjukkan kesalahan yang ditemui karena jalur yang ditentukan dari modul yang diimpor telah diperbaiki:

Alasan 3: Nama Modul Salah (Peka Huruf Besar-kecil)

Modulnya adalah “ hal - hal sensitif ” di Linux dan macOS, misalnya jika nama modul dipasang dalam huruf besar dan pengguna mengimpornya ke dalam huruf kecil maka “ Tidak dapat menemukan modul ” kesalahan akan dihasilkan. Hal ini karena ada ketidakcocokan antara nama modul sebenarnya dan pernyataan import.

Di sini, modul “csvtojson” yang terinstal diimpor dalam “huruf besar” ke dalam aplikasi Node.js:

konstanta csvtojson = memerlukan ( 'CSVTOJSON' ) ;

Jalankan file “.js”:

indeks simpul. js

Outputnya menghasilkan kesalahan “Tidak dapat menemukan modul” karena nama modul yang salah:

Solusi: Ketikkan Nama Modul yang Benar

Solusi untuk kesalahan di atas adalah dengan menentukan huruf besar atau kecil yang benar (bawah atau atas) dari modul yang diimpor saat menggunakan “ memerlukan() ' metode. Dalam skenario ini, modul “csvtojson” ditentukan dalam metode “require()” dalam kasus yang benar:

konstanta csvtojson = memerlukan ( 'csvtojson' ) ;

Jalankan lagi file “.js”:

indeks simpul. js

Sekarang, perintah di atas tidak menghasilkan kesalahan “Tidak dapat menemukan modul” karena kasus paket yang diimpor sama dengan nama sebenarnya:

Alasan 4: Ekstensi File Salah

Tidak dapat menemukan modul ” kesalahan juga dapat terjadi karena “ ekstensi file yang salah ”. Mirip dengan jalur file yang salah, hal ini terjadi pada kasus modul lokal. Misalnya, modul lokal dibuat ke dalam file “.json” dan ditentukan dalam aplikasi Node.js dengan ekstensi “.js” maka kesalahan khusus di atas dihasilkan:

Dalam skenario ini, “ modul saya.js ” yang ditunjukkan pada alasan “Jalur Modul Salah” diambil sebagai file contoh. Itu diakses di aplikasi Node.js saat ini dengan menentukan ekstensi “.json” seperti ini:

konstanta bahasa = memerlukan ( './modul-kustom/myModule.json' ) ;

Jalankan file “.js”:

indeks simpul. js

Outputnya menghasilkan kesalahan 'Tidak dapat menemukan modul' karena ekstensi file 'myModule' yang salah:

Solusi: Ketik Ekstensi File yang Benar

Solusi untuk kesalahan yang dibahas adalah dengan mengetikkan ekstensi file yang benar di mana modul lokal dibuat. Misalnya, kami menentukan ekstensi file yang benar dari file “myModule.js” untuk mengatasi kesalahan “Tidak dapat menemukan modul”:

konstanta bahasa = memerlukan ( './modul-kustom/myModule.js' ) ;

Jalankan file “.js”:

indeks simpul. js

Sekarang, perintah di atas telah berhasil dijalankan tanpa menampilkan kesalahan “Tidak dapat menemukan modul”:

Alasan 5: Pemasangan Modul Secara Global

Modul node dapat diinstal secara lokal (untuk proyek tertentu) atau secara global (untuk semua proyek). Di Linux , Jika modul yang diperlukan diinstal secara global di sistem operasi dan diakses di proyek tertentu tanpa instalasi lokal maka “ Tidak dapat menemukan modul ” kesalahan dihasilkan.

Misalnya, “ mongodb Modul ” diinstal secara global ke dalam sistem operasi Linux melalui “ sudo npm install -g mongodb ” perintah dan diakses secara lokal di proyek node tertentu:

konstanta mongodb = memerlukan ( 'mongodb' )

Jalankan file “.js”:

indeks simpul. js

Outputnya menghasilkan kesalahan yang dibahas karena “mongodb” tidak diinstal secara lokal di proyek Node saat ini:

Solusi: Instal Modul Secara Lokal

Solusi untuk kesalahan yang ditemui adalah dengan menginstal modul secara lokal untuk proyek Node.js tertentu pada sistem operasi berbasis Linux.

Di sini, “ mongodb Modul ” diinstal secara lokal di proyek saat ini dengan bantuan perintah instalasi “npm”:

npm instal mongodb

Ketika instalasi lokal “mongodb” selesai, impor ke dalam file “.js” dan jalankan:

indeks simpul. js

Terlihat bahwa kesalahan “Tidak dapat menemukan modul” telah diatasi dengan menginstal modul “mongodb” secara lokal untuk proyek Node.js saat ini:

Di Windows, instalasi modul secara global dan lokal tidak menghasilkan kesalahan 'Tidak dapat menemukan modul'.

Alasan 6: File Entri Hilang

Tidak dapat menemukan modul ” kesalahan juga dapat terjadi karena tidak ada file entri utama di “package.json” modul. File entri utama setiap modul adalah file “index.js” secara default.

Misalkan, Jika pengguna menghapusnya secara tidak sengaja maka kesalahan yang ditemui di atas akan terjadi. Ini karena saat mengimpor modul yang ditentukan, “ memerlukan() Metode ” menavigasi ke folder modul tersebut dan mencari titik masuknya, jika tidak ada maka modul tersebut tidak dapat diimpor ke aplikasi Node.js.

File entri “index.js” dari modul yang diperlukan ada di dalam struktur foldernya. Cuplikan di bawah ini menunjukkan file entri modul 'mysql':

Sekarang, file “index.js” yang disorot di atas dihapus dari folder “mysql” dan kemudian mengimpor modul “mysql” ke dalam aplikasi Node.js:

konstanta mysql = memerlukan ( 'mysql' )

Jalankan file “.js”:

indeks simpul. js

Di sini, output menghasilkan kesalahan 'Tidak dapat menemukan modul' karena tidak ada file entri modul 'mysql':

Solusi: Instal Lagi Modul yang Diperlukan

Solusi untuk kesalahan yang ditemui di atas adalah dengan menghapus “ node_modules ” direktori dan instal kembali modul yang diperlukan. Di sini, modul “mysql” diinstal kembali setelah menghapus direktori “node_modules”:

npm instal mysql

Setelah instalasi 'mysql' berhasil, yang baru ' node_modules Direktori ” dibuat secara otomatis berisi struktur folder modul “mysql” di mana “index.js” ada:

Sekarang, jalankan kembali file “.js”:

indeks simpul. js

Di sini, output tidak menghasilkan kesalahan 'Tidak dapat menemukan modul' karena adanya file entri bernama 'index.js' dari modul 'mysql':

Apa yang Harus Dilakukan jika Kesalahan “Tidak Dapat Menemukan Modul” Masih Berlanjut?

Jika “ Tidak dapat menemukan modul ” kesalahan tetap ada setelah menyelesaikannya dengan salah satu solusi di atas lalu hapus “ node_modules map ”. Folder “node_modules” secara otomatis dibuat ketika modul pihak ketiga diinstal. Ini berisi semua paket pihak ketiga yang menjadi sandaran proyek Node.js.

Selain itu, “ paket-lock.json ” File juga secara otomatis dihasilkan ketika sebuah paket diinstal dengan “npm”. Itu menyimpan catatan dependensi serta sub-dependensi yang menjadi sandaran paket beserta versinya. Jika paket diinstal dengan “yarn” maka nama file ini adalah “ benang.kunci ”.

Solusi: Hapus Folder “node_modules” dan File “package-lock.json”.

Solusi untuk kesalahan yang ditemui adalah dengan menghapus folder “node_modules” dan file “package-lock.json/yarn.lock” dan menginstal kembali paket yang diperlukan.

Di Linux , folder dan file yang ditentukan di atas dapat dihapus dengan bantuan “ rm (hapus)” perintah:

rm - paket rf node_modules - kunci. json //Hapus Folder dan File

aku // Menampilkan File dan Direktori

Dalam perintah di atas, “ -R ” bendera menghapus folder yang ditentukan “ secara rekursif ” termasuk semua subdirektorinya dan “ F ” bendera memberitahu penerjemah untuk melakukan tugas ini “ dengan paksa ”:

Outputnya menunjukkan bahwa folder “node_modules” dan file “package-lock.json/yarn.lock” telah dihapus sepenuhnya dari proyek Node.js saat ini:

Di Windows , pengguna dapat menghapus folder “node_modules” dan file “package-lock.json/yarn.lock” hanya dengan menekan tombol “ menghapus ” atau menggunakan opsi “hapus” dari menu tarik-turun.

Itu saja tentang mengatasi kesalahan “Tidak dapat menemukan modul” di Node.js.

Kesimpulan

Untuk mengatasi “ Tidak dapat menemukan modul ” kesalahan, “instal modul yang diperlukan”, “tentukan jalur yang benar”, “ketik huruf besar/kecil yang benar dalam metode “wajib()”, dan juga “ketik ekstensi file yang benar”. Selain itu, hal ini juga dapat diselesaikan dengan “menginstal modul secara lokal” di proyek Node.js. Jika kesalahan tertentu masih berlanjut, hapus folder “node_modules”, file “package-lock.json”, lalu instal kembali modul yang diperlukan melalui “npm/yarn”. Posting ini telah membahas semua kemungkinan alasan beserta solusinya untuk mengatasi kesalahan “Tidak dapat menemukan modul” menggunakan Node.js.