Cum se rezolvă eroarea „Nu se poate găsi modulul” utilizând Node.js?

Cum Se Rezolva Eroarea Nu Se Poate Gasi Modulul Utilizand Node Js



Ca și alte limbaje de programare, Node.js nu trebuie să spargă codul sursă al aplicației în bucăți mici. Acesta scrie tot codul sursă într-un fișier „.js”, iar interpretul nu provoacă probleme. Cu toate acestea, în timp ce creați o aplicație Node.js foarte complexă, este recomandat să împărțiți codul sursă în module mai mici și apoi să le combinați într-o aplicație coerentă.

Schiță rapidă

Ce este un modul în Node.js?

În Node.js, „ modul ” corespunde unei biblioteci care construiește o conexiune cu o aplicație pe baza contextului acesteia. Permite dezvoltatorilor să refolosească codul încapsulat ori de câte ori este nevoie. Este clasificat în trei categorii principale: module „încorporate”, „locale” și „terțe părți”. Aceste module conțin în plus o gamă largă de metode și proprietăți care efectuează operațiuni specificate în funcție de funcționalitățile lor.







Cum se rezolvă eroarea „Nu se poate găsi modulul” utilizând Node.js?

Această secțiune prezintă toate motivele posibile care generează eroarea „Modulul nu se găsesc” și oferă, de asemenea, soluțiile viabile pentru a o rezolva:



Motivul 1: Modulul necesar nu este instalat

Cel mai frecvent motiv pentru „ Modulul nu poate fi găsit „Eroarea este că „ modulul terță parte nu este instalat ” în proiectul actual Node.js. Să presupunem că importăm modulul terță parte „mysql” în aplicația Node.js în acest fel:



const mysql = cere ( „mysql” ) ;

În comanda de mai sus, „ cere() ” include modulul „mysql” la aplicația curentă node.js.





Executați fișierul „.js”:

indexul nodului. js

Ieșirea de mai jos generează eroarea discutată, deoarece modulul „mysql” nu este instalat în proiectul actual Node.js:



Soluție: Instalați modulul necesar

Soluția la eroarea discutată mai sus este să instalați corect modulul necesar cu ajutorul „ npm / fire ” manager de pachete. Pentru acest scenariu, modulul „mysql” necesar este instalat cu comanda de instalare „npm”:

npm instalează mysql

Rezultatul arată instalarea cu succes a modulului „mysql” în proiectul actual Node.js:

Acum executați din nou fișierul „.js”:

indexul nodului. js

Se poate analiza că comanda de mai sus a fost executată cu succes fără a genera eroarea „Modulul nu se poate găsi”:

Motivul 2: Calea modulului incorectă

Un alt motiv pentru „ Modulul nu poate fi găsit „Eroarea este „ calea modulului incorectă ”. Se întâmplă de obicei atunci când utilizatorul importă un modul local prin calea sa relativă. Să presupunem că utilizatorul creează un modul personalizat în folderul specific și îl importă în aplicația Node.js. Înainte de a face acest lucru, asigurați-vă că calea specificată este corectă, altfel va fi întâlnită eroarea discutată.

De exemplu, un modul local/definit de utilizator numit „ myModule ” este prezent în folderul „./custom-modules”:

Utilizatorul importă „myModule” evidențiat mai sus în aplicația curentă Node.js prin calea sa relativă:

const limbi = cere ( „./myModule” ) ;

Rulați fișierul „.js”:

indexul nodului. js

Se poate observa că, din cauza căii incorecte a „myModule”, este generată eroarea „Nu se poate găsi modulul”:

Soluție: specificați calea corectă a modulului

Soluția la eroarea discutată mai sus este de a specifica calea corectă sau exactă a modulului în care se află. Aici, am trecut calea corectă „myModule” pentru a rezolva eroarea „Nu se poate găsi modulul”:

const limbi = cere ( „./custom-modules/myModule” ) ;

Inițiază fișierul „.js”:

indexul nodului. js

Se poate observa că rezultatul de mai jos nu arată eroarea întâlnită deoarece calea specificată a modulului importat a fost corectată:

Motivul 3: Numele modulului incorect (se face distincția cu majuscule și minuscule)

Modulele sunt „ caz sensibil ” în Linux și macOS, cum ar fi dacă numele modulului este instalat cu majuscule și utilizatorul îl importă în litere mici, apoi „ Modulul nu poate fi găsit ” va fi generată eroare. Acest lucru se datorează faptului că există o nepotrivire între numele actual al modulului și instrucțiunea de import.

Aici, modulul „csvtojson” instalat este importat cu „majuscule” în aplicația Node.js:

const csvtojson = cere ( „CSVTOJSON” ) ;

Executați fișierul „.js”:

indexul nodului. js

Ieșirea generează eroarea „Modulul nu se poate găsi” din cauza numelui incorect al modulului:

Soluție: Introduceți numele corect al modulului

Soluția la eroarea de mai sus este să specificați majusculele corecte (inferioare sau superioare) modulului importat în timp ce utilizați „ cere() ” metoda. În acest scenariu, modulul „csvtojson” este specificat în metoda „require()” în cazul corect:

const csvtojson = cere ( 'csvtojson' ) ;

Rulați din nou fișierul „.js”:

indexul nodului. js

Acum, comanda de mai sus nu a generat eroarea „Modulul nu se poate găsi”, deoarece cazul pachetului importat este același cu numele său real:

Motivul 4: Extensie de fișier incorectă

Modulul nu poate fi găsit ” eroarea poate apărea și din cauza ” extensie de fișier incorectă ”. Similar cu calea incorectă a fișierului, se întâmplă și în cazul modulelor locale. De exemplu, un modul local este creat în fișierul „.json” și este specificat în aplicația Node.js cu extensia „.js”, apoi este generată eroarea specială de mai sus:

În acest scenariu, „ myModule.js ” afișat în „Calea incorectă a modulului” este luat ca exemplu de fișier. Este accesat în aplicația actuală Node.js specificând extensia sa „.json” astfel:

const limbi = cere ( „./custom-modules/myModule.json” ) ;

Executați fișierul „.js”:

indexul nodului. js

Ieșirea generează eroarea „Modulul nu se poate găsi” din cauza extensiei incorecte a fișierului „myModule”:

Soluție: Introduceți Extensia de fișier corectă

Soluția la eroarea discutată este să tastați extensia corectă de fișier în care este creat modulul local. De exemplu, am specificat extensia corectă a fișierului „myModule.js” pentru a rezolva eroarea „Nu se poate găsi modulul”:

const limbi = cere ( „./custom-modules/myModule.js” ) ;

Rulați fișierul „.js”:

indexul nodului. js

Acum, comanda de mai sus a fost executată cu succes fără a afișa eroarea „Modulul nu se poate găsi”:

Motivul 5: Instalarea globală a unui modul

Modulele nod pot fi instalate local (pentru un anumit proiect) sau global (pentru toate proiectele). În Linux , Dacă modulul necesar este instalat global într-un sistem de operare și este accesat într-un anumit proiect fără instalarea locală, atunci „ Modulul nu poate fi găsit ” se generează eroare.

De exemplu, „ mongodb ” este instalat global în sistemul de operare Linux prin intermediul „ sudo npm install -g mongodb ” și este accesat local în proiectul de nod specific:

const mongodb = cere ( „mongodb” )

Rulați fișierul „.js”:

indexul nodului. js

Ieșirea generează eroarea discutată, deoarece „mongodb” nu este instalat local în proiectul actual Node:

Soluție: Instalați modulul local

Soluția la eroarea întâlnită este să instalați modulul local pentru un anumit proiect Node.js pe un sistem de operare bazat pe Linux.

Aici ' mongodb ” este instalat local în proiectul curent cu ajutorul comenzii de instalare „npm”:

npm instalează mongodb

Când instalarea locală a „mongodb” este finalizată, importați-l în fișierul „.js” și executați-l:

indexul nodului. js

Se poate observa că eroarea „Modulul nu se poate găsi” a fost rezolvată prin instalarea locală a modulului „mongodb” pentru proiectul actual Node.js:

În Windows, instalarea globală și locală a unui modul nu generează eroarea „Modulul nu se poate găsi”.

Motivul 6: Lipsește fișierul de intrare

Modulul nu poate fi găsit ” eroare poate fi, de asemenea, generată din cauza lipsei fișierului de intrare principal într-un „package.json” al modulului. Fișierul principal de intrare al fiecărui modul este fișierul „index.js” în mod implicit.

Să presupunem că, dacă utilizatorul îl elimină neintenționat, atunci eroarea întâlnită mai sus va fi generată. Acest lucru se datorează faptului că în timpul importului modulului specificat, „ cere() ” metoda navighează la folderul acelui modul și caută punctul de intrare, dacă acesta nu există, atunci nu poate importa acel modul în aplicația Node.js.

Fișierul de intrare „index.js” al modulului necesar este prezent în structura sa de foldere. Fragmentul de mai jos arată fișierul de intrare al modulului „mysql”:

Acum, fișierul „index.js” evidențiat mai sus este eliminat din folderul „mysql” și apoi importat modulul „mysql” în aplicația Node.js:

const mysql = cere ( „mysql” )

Executați fișierul „.js”:

indexul nodului. js

Aici, rezultatul generează eroarea „Modulul nu se poate găsi” din cauza lipsei fișierului de intrare al modulului „mysql”:

Soluție: Instalați din nou modulul necesar

Soluția la eroarea întâlnită mai sus este să ștergeți „ module_noduri ” și instalați din nou modulul necesar. Aici, modulul „mysql” este instalat din nou după ștergerea directorului „node_modules”:

npm instalează mysql

După instalarea cu succes a „mysql”, noul „ module_noduri ” directorul este generat automat care conține structura de foldere a modulului „mysql” în care este prezent „index.js”:

Acum, rulați din nou fișierul „.js”:

indexul nodului. js

Aici, rezultatul nu generează nicio eroare „Nu se poate găsi modulul” din cauza existenței unui fișier de intrare numit „index.js” al modulului „mysql”:

Ce să faci dacă eroarea „Nu se poate găsi modulul” încă persistă?

Dacă „ Modulul nu poate fi găsit ” eroarea persistă după rezolvarea acesteia cu oricare dintre soluțiile de mai sus, apoi ștergeți „ module_noduri ” dosar. Dosarul „node_modules” se generează automat atunci când este instalat un modul terță parte. Conține toate pachetele terțe de care depinde proiectul Node.js.

În plus, „ package-lock.json ” fișierul se generează, de asemenea, automat atunci când un pachet este instalat cu „npm”. Păstrează evidența dependențelor, precum și a subdependențelor de care depinde pachetul împreună cu versiunile acestora. Dacă pachetul este instalat cu „yarn”, atunci acest nume de fișier este „ fire.blocare ”.

Soluție: Eliminați folderul „node_modules” și fișierul „package-lock.json”.

Soluția pentru eroarea întâlnită este să ștergeți folderul „node_modules” și fișierul „package-lock.json/yarn.lock” și să instalați din nou pachetul necesar.

În Linux , folderul și fișierele specificate mai sus pot fi șterse cu ajutorul textului „ rm (eliminare)” comanda:

rm - pachetul rf node_modules - Lacăt. json //Ștergeți folderul și fișierul

ls // Afișează fișierul și directoarele

În comanda de mai sus, „ -r ' flag șterge folderul specificat ' recursiv ” inclusiv toate subdirectoarele sale și „ f ” flag îi spune interpretului să efectueze această sarcină ” fortat ”:

Rezultatul arată că folderul „node_modules” și fișierul „package-lock.json/yarn.lock” au fost eliminate complet din proiectul actual Node.js:

În Windows , utilizatorul poate șterge folderul „node_modules” și fișierul „package-lock.json/yarn.lock” pur și simplu apăsând butonul „ șterge ” sau folosind opțiunea „Ștergere” din meniul derulant.

Acesta este totul despre rezolvarea erorii „Modulul nu se găsește” în Node.js.

Concluzie

Pentru a rezolva „ Modulul nu poate fi găsit „, „instalați modulul necesar”, „specificați calea corectă a acestuia”, „introduceți majusculele corecte în metoda „require()” și, de asemenea, „introduceți extensia de fișier corectă”. Mai mult, se poate rezolva și „instalarea locală a modulului” în proiectul Node.js. Dacă eroarea specifică persistă, eliminați folderul „node_modules”, fișierul „package-lock.json”, apoi instalați din nou modulul necesar prin „npm/yarn”. Această postare a discutat toate motivele posibile împreună cu soluția lor pentru a rezolva eroarea „Modulul nu se poate găsi” folosind Node.js.