Rangka Pantas
- Apakah 'Modul' dalam Node.js?
- Bagaimana untuk Menyelesaikan Ralat 'Tidak dapat mencari modul' Menggunakan Node.js?
- Kesimpulan
Apakah itu Modul dalam Node.js?
Dalam Node.js, ' modul ” sepadan dengan perpustakaan yang membina sambungan dengan aplikasi berdasarkan konteksnya. Ia membolehkan pembangun untuk menggunakan semula kod terkapsul bila-bila masa ia diperlukan. Ia dikategorikan kepada tiga kategori utama: modul 'terbina dalam', 'tempatan' dan 'pihak ketiga'. Modul ini seterusnya mengandungi pelbagai kaedah dan sifat yang melaksanakan operasi yang ditentukan mengikut fungsinya.
Bagaimana untuk Menyelesaikan Ralat 'Tidak dapat mencari modul' Menggunakan Node.js?
Bahagian ini menyenaraikan semua kemungkinan sebab yang menjana ralat 'Tidak dapat mencari modul' dan juga menyediakan penyelesaian yang boleh dilaksanakan untuk menyelesaikannya:
- Sebab 1: Modul Tidak Dipasang
- Penyelesaian: Pasang Modul yang Diperlukan
- Sebab 2: Laluan Modul Salah
- Penyelesaian: Tentukan Laluan Modul yang Betul
- Sebab 3: Nama Modul Salah (Sensitif Huruf Besar)
- Penyelesaian: Taipkan Nama Modul yang Betul
- Sebab 4: Sambungan Fail Salah
- Penyelesaian: Taip Sambungan Fail Betul
- Sebab 5: Pemasangan Global Modul
- Penyelesaian: Pasang Modul Secara Setempat
- Sebab 6: Fail Kemasukan Hilang
- Penyelesaian: Pasang Modul Diperlukan Sekali lagi
- Apa Yang Perlu Dilakukan Jika Ralat 'Tidak Dapat Menemui Modul' Masih Berterusan?
- Penyelesaian: Alih keluar Folder 'node_modules' dan Fail 'package-lock.json'.
Sebab 1: Modul yang Diperlukan Tidak Dipasang
Sebab yang paling biasa untuk ' Tidak dapat mencari modul 'Ralat ialah yang diperlukan' modul pihak ketiga tidak dipasang ” dalam projek Node.js semasa. Katakan, kami mengimport modul 'mysql' pihak ketiga dalam aplikasi Node.js dengan cara ini:
const mysql = memerlukan ( 'mysql' ) ;
Dalam arahan di atas, ' memerlukan() ' kaedah termasuk modul 'mysql' kepada aplikasi node.js semasa.
Jalankan fail '.js':
indeks nod. jsOutput di bawah menjana ralat yang dibincangkan kerana modul 'mysql' tidak dipasang dalam projek Node.js semasa:
Penyelesaian: Pasang Modul yang Diperlukan
Penyelesaian kepada ralat yang dibincangkan di atas ialah memasang modul yang diperlukan dengan betul dengan bantuan ' npm / benang ” pengurus pakej. Untuk senario ini, modul 'mysql' yang diperlukan dipasang dengan arahan pemasangan 'npm':
npm pasang mysqlOutput menunjukkan pemasangan modul 'mysql' yang berjaya dalam projek Node.js semasa:
Sekarang laksanakan fail '.js' sekali lagi:
indeks nod. jsIa boleh dianalisis bahawa arahan di atas dilaksanakan dengan jayanya tanpa menghasilkan ralat 'Tidak dapat mencari modul':
Sebab 2: Laluan Modul Salah
Satu lagi sebab untuk ' Tidak dapat mencari modul 'kesilapan ialah' laluan modul yang salah ”. Ia biasanya berlaku apabila pengguna mengimport modul tempatan melalui laluan relatifnya. Katakan, pengguna mencipta modul tersuai ke dalam folder tertentu dan mengimportnya ke dalam aplikasi Node.js. Sebelum melakukan ini, pastikan laluan yang ditentukan adalah betul jika tidak ralat yang dibincangkan akan ditemui.
Sebagai contoh, modul tempatan/ditakrifkan pengguna bernama “ myModule ” terdapat dalam folder “./custom-modules”:
Pengguna mengimport 'myModule' yang diserlahkan di atas ke dalam aplikasi Node.js semasa melalui laluan relatifnya:
const bahasa = memerlukan ( './myModule' ) ;Jalankan fail '.js':
indeks nod. jsIa dapat dilihat bahawa disebabkan laluan 'myModule' yang salah, Ralat 'Tidak dapat mencari modul' dijana:
Penyelesaian: Tentukan Laluan Modul yang Betul
Penyelesaian kepada ralat yang dibincangkan di atas adalah untuk menentukan laluan yang betul atau tepat bagi modul di mana ia berada. Di sini, kami melepasi laluan yang betul iaitu 'myModule' untuk menyelesaikan ralat 'Tidak dapat mencari modul':
const bahasa = memerlukan ( './custom-modules/myModule' ) ;Mulakan fail '.js':
indeks nod. jsDapat diperhatikan bahawa output di bawah tidak menunjukkan ralat yang dihadapi kerana laluan tertentu bagi modul yang diimport telah diperbetulkan:
Sebab 3: Nama Modul Salah (Sensitif Huruf Besar)
Modul tersebut ialah “ kes-sensitif ” dalam Linux dan macOS, seperti jika nama modul dipasang dalam huruf besar dan pengguna mengimportnya ke dalam huruf kecil kemudian “ Tidak dapat mencari modul ” ralat akan dihasilkan. Ini kerana terdapat ketidakpadanan antara nama modul sebenar dan penyata import.
Di sini, modul 'csvtojson' yang dipasang diimport dalam 'huruf besar' ke dalam aplikasi Node.js:
const csvtojson = memerlukan ( 'CSVTOJSON' ) ;Jalankan fail '.js':
indeks nod. jsOutput menjana ralat 'Tidak dapat mencari modul' kerana nama modul yang salah:
Penyelesaian: Taipkan Nama Modul yang Betul
Penyelesaian kepada ralat muka di atas adalah untuk menentukan kes yang betul (bawah atau atas) modul yang diimport semasa menggunakan ' memerlukan() ” kaedah. Dalam senario ini, modul 'csvtojson' ditentukan dalam kaedah 'require()' dalam kes yang betul:
const csvtojson = memerlukan ( 'csvtojson' ) ;Jalankan fail '.js' sekali lagi:
indeks nod. jsSekarang, arahan di atas tidak menghasilkan ralat 'Tidak dapat mencari modul' kerana kes pakej yang diimport adalah sama dengan nama sebenar:
Sebab 4: Sambungan Fail Salah
' Tidak dapat mencari modul ralat juga boleh berlaku disebabkan oleh sambungan fail yang salah ”. Sama seperti laluan fail yang salah, ia berlaku dalam kes modul tempatan. Sebagai contoh, modul setempat dicipta ke dalam fail '.json' dan dinyatakan dalam aplikasi Node.js dengan sambungan '.js' kemudian ralat tertentu di atas dijana:
Dalam senario ini, ' myModule.js ” yang ditunjukkan dalam alasan “ Laluan Modul Salah” diambil sebagai fail sampel. Ia diakses dalam aplikasi Node.js semasa dengan menyatakan sambungannya '.json' seperti ini:
const bahasa = memerlukan ( './custom-modules/myModule.json' ) ;Jalankan fail '.js':
indeks nod. jsOutput menjana ralat 'Tidak dapat mencari modul' kerana sambungan fail yang salah bagi fail 'myModule':
Penyelesaian: Taip Sambungan Fail Betul
Penyelesaian kepada ralat yang dibincangkan adalah dengan menaip sambungan fail yang betul di mana modul tempatan dicipta. Sebagai contoh, kami menyatakan sambungan fail yang betul bagi fail 'myModule.js' untuk menyelesaikan ralat 'Tidak dapat mencari modul':
const bahasa = memerlukan ( './custom-modules/myModule.js' ) ;Jalankan fail '.js':
indeks nod. jsSekarang, arahan di atas telah dilaksanakan dengan jayanya tanpa menunjukkan ralat 'Tidak dapat mencari modul':
Sebab 5: Pemasangan Global Modul
Modul nod boleh dipasang secara tempatan (untuk projek tertentu) atau secara global (untuk semua projek). Dalam Linux , Jika modul yang diperlukan dipasang secara global dalam sistem pengendalian dan diakses dalam projek tertentu tanpa pemasangan tempatan maka ' Tidak dapat mencari modul ” ralat dihasilkan.
Sebagai contoh, ' mongodb 'modul dipasang secara global ke dalam sistem pengendalian Linux melalui ' sudo npm install -g mongodb ” perintah dan diakses secara tempatan dalam projek nod tertentu:
const mongodb = memerlukan ( 'mongodb' )Jalankan fail '.js':
indeks nod. jsOutput menjana ralat yang dibincangkan kerana 'mongodb' tidak dipasang secara tempatan dalam projek Node semasa:
Penyelesaian: Pasang Modul Secara Setempat
Penyelesaian kepada ralat yang dihadapi ialah memasang modul secara setempat untuk projek Node.js tertentu pada sistem pengendalian berasaskan Linux.
Di sini, ' mongodb modul dipasang secara tempatan dalam projek semasa dengan bantuan arahan pemasangan 'npm':
npm pasang mongodb
Apabila pemasangan tempatan 'mongodb' selesai, importnya ke dalam fail '.js' dan laksanakannya:
indeks nod. jsIa boleh dilihat bahawa ralat 'Tidak dapat mencari modul' telah diselesaikan dengan memasang modul 'mongodb' secara setempat untuk projek Node.js semasa:
Dalam Windows, pemasangan global dan tempatan modul tidak menjana ralat 'Tidak dapat mencari modul'.
Sebab 6: Fail Kemasukan Hilang
' Tidak dapat mencari modul ralat ” juga boleh dijana kerana kehilangan fail entri utama dalam “package.json” modul. Fail kemasukan utama setiap modul ialah fail 'index.js' secara lalai.
Katakan, Jika pengguna membuangnya secara tidak sengaja maka ralat yang dihadapi di atas akan dihasilkan. Ini kerana semasa mengimport modul yang ditentukan, ' memerlukan() ” kaedah menavigasi ke folder modul itu dan mencari titik masuk, jika ia tidak wujud maka ia tidak boleh mengimport modul tersebut ke dalam aplikasi Node.js.
Fail masukan 'index.js' modul yang diperlukan terdapat di dalam struktur foldernya. Coretan di bawah menunjukkan fail masukan modul 'mysql':
Sekarang, fail 'index.js' yang diserlahkan di atas dialih keluar daripada folder 'mysql' dan kemudian mengimport modul 'mysql' ke dalam aplikasi Node.js:
const mysql = memerlukan ( 'mysql' )Jalankan fail '.js':
indeks nod. jsDi sini, output menjana ralat 'Tidak dapat mencari modul' kerana kehilangan fail masukan modul 'mysql':
Penyelesaian: Pasang Modul Diperlukan Sekali lagi
Penyelesaian kepada ralat yang dihadapi di atas adalah untuk memadam ' modul_nod ” dan pasang modul yang diperlukan sekali lagi. Di sini, modul 'mysql' dipasang semula selepas memadamkan direktori 'node_modules':
npm pasang mysql
Selepas pemasangan 'mysql' berjaya, ' modul_nod direktori ” dijana secara automatik yang mengandungi struktur folder modul “mysql” di mana “index.js” hadir:
Sekarang, jalankan fail '.js' sekali lagi:
indeks nod. jsDi sini, output tidak menjana sebarang ralat 'Tidak dapat mencari modul' kerana kewujudan fail masukan bernama 'index.js' modul 'mysql':
Apa Yang Perlu Dilakukan Jika Ralat 'Tidak Dapat Menemui Modul' Masih Berterusan?
Jika ' Tidak dapat mencari modul ' ralat berterusan selepas menyelesaikannya dengan mana-mana penyelesaian di atas kemudian padamkan ' modul_nod ” folder. Folder 'node_modules' dijana secara automatik apabila modul pihak ketiga dipasang. Ia mengandungi semua pakej pihak ketiga yang bergantung kepada projek Node.js.
Selain itu, ' package-lock.json ” fail juga secara automatik menjana apabila pakej dipasang dengan “npm”. Ia menyimpan rekod kebergantungan serta sub-kebergantungan di mana pakej bergantung bersama-sama dengan versi mereka. Jika pakej dipasang dengan 'benang' maka nama fail ini ialah ' benang.kunci ”.
Penyelesaian: Alih keluar Folder 'node_modules' dan Fail 'package-lock.json'.
Penyelesaian kepada ralat yang dihadapi ialah memadam folder 'node_modules' dan fail 'package-lock.json/yarn.lock' dan pasang semula pakej yang diperlukan.
Dalam Linux , folder dan fail yang dinyatakan di atas boleh dipadamkan dengan bantuan “ yang dinyatakan di bawah rm (alih keluar)” perintah:
rm - pakej rf node_modules - kunci. json //Padam Folder dan Faills // Paparkan Fail dan Direktori
Dalam perintah di atas ' -r 'bendera memadam folder yang ditentukan' secara rekursif ” termasuk semua subdirektorinya dan “ f 'bendera memberitahu jurubahasa untuk melaksanakan tugas ini' secara paksa ”:
Output menunjukkan bahawa folder 'node_modules' dan fail 'package-lock.json/yarn.lock' telah dialih keluar sepenuhnya daripada projek Node.js semasa:
Dalam Windows , pengguna boleh memadam folder “node_modules” dan fail “package-lock.json/yarn.lock” hanya dengan menekan butang “ padam kekunci ” atau menggunakan pilihan “padam” daripada menu lungsur.
Itu sahaja tentang menyelesaikan ralat 'Tidak dapat mencari modul' dalam Node.js.
Kesimpulan
Untuk menyelesaikan ' Tidak dapat mencari modul ralat ”, “pasang modul yang diperlukan”, “tentukan laluannya yang betul”, “taip kes yang betul dalam kaedah “require()””, dan juga “taip sambungan fail yang betul”. Selain itu, ia juga boleh diselesaikan untuk 'memasang modul secara setempat' dalam projek Node.js. Jika ralat tertentu berterusan maka alih keluar folder 'node_modules', fail 'package-lock.json', dan kemudian pasang modul yang diperlukan sekali lagi melalui 'npm/yarn'. Siaran ini telah membincangkan semua kemungkinan sebab bersama-sama dengan penyelesaian mereka untuk menyelesaikan ralat 'Tidak dapat mencari modul' menggunakan Node.js.