Come risolvere l'errore 'Impossibile trovare il modulo' utilizzando Node.js?

Come Risolvere L Errore Impossibile Trovare Il Modulo Utilizzando Node Js



Come altri linguaggi di programmazione, Node.js non ha bisogno di suddividere il codice sorgente dell'applicazione in piccole parti. Scrive tutto il codice sorgente in un file “.js” e l'interprete non causa alcun problema. Tuttavia, durante la creazione di un'applicazione Node.js molto complessa, è consigliabile dividere il codice sorgente in moduli più piccoli e quindi combinarli in un'applicazione coesa.

Contorno rapido

Cos'è un modulo in Node.js?

In Node.js, il ' modulo ' corrisponde a una libreria che crea una connessione con un'applicazione in base al suo contesto. Consente agli sviluppatori di riutilizzare il codice incapsulato ogni volta che è necessario. È classificato in tre categorie principali: moduli “integrati”, “locali” e “di terze parti”. Questi moduli contengono inoltre un'ampia gamma di metodi e proprietà che eseguono operazioni specificate in base alle loro funzionalità.







Come risolvere l'errore 'Impossibile trovare il modulo' utilizzando Node.js?

Questa sezione elenca tutti i possibili motivi che generano l'errore 'Impossibile trovare il modulo' e fornisce anche le soluzioni praticabili per risolverlo:



Motivo 1: modulo richiesto non installato

Il motivo più comune per “ Impossibile trovare il modulo ' L'errore è che è richiesto ' il modulo di terze parti non è installato 'nell'attuale progetto Node.js. Supponiamo di importare il modulo “mysql” di terze parti nell'applicazione Node.js in questo modo:



cost mysql = richiedere ( 'mysql' ) ;

Nel comando sopra, il ' richiedere() ' include il modulo 'mysql' nell'applicazione node.js corrente.





Esegui il file “.js”:

indice del nodo. js

L'output seguente genera l'errore discusso perché il modulo 'mysql' non è installato nell'attuale progetto Node.js:



Soluzione: installare il modulo richiesto

La soluzione all'errore sopra discusso è installare correttamente il modulo richiesto con l'aiuto del ' npm / filato 'gestore dei pacchetti. Per questo scenario, il modulo “mysql” richiesto viene installato con il comando di installazione “npm”:

npm installa mysql

L'output mostra la corretta installazione del modulo “mysql” nell'attuale progetto Node.js:

Ora esegui nuovamente il file “.js”:

indice del nodo. js

Si può analizzare che il comando precedente è stato eseguito correttamente senza generare l'errore 'Impossibile trovare il modulo':

Motivo 2: percorso del modulo errato

Un altro motivo per “ Impossibile trovare il modulo 'l'errore è il' percorso del modulo errato ”. Di solito accade quando l'utente importa un modulo locale attraverso il suo percorso relativo. Supponiamo che l'utente crei un modulo personalizzato nella cartella specifica e lo importi nell'applicazione Node.js. Prima di fare ciò, assicurati che il percorso specificato sia corretto altrimenti verrà riscontrato l'errore discusso.

Ad esempio, un modulo locale/definito dall'utente denominato ' myModule ” è presente nella cartella “./custom-modules”:

L'utente importa il “myModule” sopra evidenziato nell'applicazione Node.js corrente attraverso il relativo percorso:

cost le lingue = richiedere ( './mioModulo' ) ;

Esegui il file '.js':

indice del nodo. js

Si può notare che a causa del percorso errato del “myModule” viene generato l'errore “Impossibile trovare il modulo”:

Soluzione: specificare il percorso corretto del modulo

La soluzione all'errore sopra discusso è specificare il percorso corretto o esatto del modulo in cui si trova. Qui, abbiamo passato il percorso corretto a 'myModule' per risolvere l'errore 'Impossibile trovare il modulo':

cost le lingue = richiedere ( './moduli-personalizzati/myModule' ) ;

Avviare il file '.js':

indice del nodo. js

Si può osservare che l'output seguente non mostra l'errore riscontrato perché il percorso specificato del modulo importato è stato corretto:

Motivo 3: nome del modulo errato (con distinzione tra maiuscole e minuscole)

I moduli sono “ maiuscole e minuscole ' in Linux e macOS, ad esempio se il nome del modulo è installato in maiuscolo e l'utente lo importa in minuscolo, quindi ' Impossibile trovare il modulo Verrà generato un errore. Ciò è dovuto al fatto che esiste una mancata corrispondenza tra il nome effettivo del modulo e l'istruzione di importazione.

Qui, il modulo “csvtojson” installato viene importato in “maiuscolo” nell’applicazione Node.js:

cost csvtojson = richiedere ( 'CSVTOJSON' ) ;

Esegui il file “.js”:

indice del nodo. js

L'output genera l'errore 'Impossibile trovare il modulo' a causa del nome del modulo errato:

Soluzione: digitare il nome del modulo corretto

La soluzione all'errore sopra menzionato è specificare il caso corretto (minuscolo o superiore) del modulo importato mentre si utilizza il comando ' richiedere() ' metodo. In questo scenario, il modulo “csvtojson” è specificato nel metodo “require()” nel suo caso corretto:

cost csvtojson = richiedere ( 'csvtojson' ) ;

Esegui nuovamente il file '.js':

indice del nodo. js

Ora, il comando precedente non ha generato l'errore 'Impossibile trovare il modulo' perché il caso del pacchetto importato è lo stesso del suo nome effettivo:

Motivo 4: estensione del file errata

IL ' Impossibile trovare il modulo L'errore può verificarsi anche a causa del ' estensione del file errata ”. Similmente al percorso file errato accade nel caso dei moduli locali. Ad esempio, un modulo locale viene creato nel file '.json' e specificato nell'applicazione Node.js con l'estensione '.js', quindi viene generato l'errore particolare di cui sopra:

In questo scenario, il “ myModule.js ' mostrato nel motivo ' Percorso modulo errato ' viene preso come file di esempio. È possibile accedervi nell'attuale applicazione Node.js specificando la sua estensione '.json' in questo modo:

cost le lingue = richiedere ( './custom-modules/myModule.json' ) ;

Esegui il file “.js”:

indice del nodo. js

L'output genera l'errore 'Impossibile trovare il modulo' a causa dell'estensione errata del file 'myModule':

Soluzione: digitare l'estensione file corretta

La soluzione all'errore discusso è digitare l'estensione file corretta in cui viene creato il modulo locale. Ad esempio, abbiamo specificato l'estensione file corretta del file 'myModule.js' per risolvere l'errore 'Impossibile trovare il modulo':

cost le lingue = richiedere ( './custom-modules/myModule.js' ) ;

Esegui il file '.js':

indice del nodo. js

Ora, il comando precedente è stato eseguito correttamente senza mostrare l'errore 'Impossibile trovare il modulo':

Motivo 5: installazione globale di un modulo

I moduli nodo possono essere installati localmente (per un progetto specifico) o globalmente (per tutti i progetti). In Linux , Se il modulo richiesto è installato globalmente in un sistema operativo ed è possibile accedervi in ​​un progetto specifico senza l'installazione locale, il ' Impossibile trovare il modulo 'viene generato l'errore.

Ad esempio, il “ mongodb ' Il modulo viene installato globalmente nel sistema operativo Linux tramite il ' sudo npm install -g mongodb ” ed è accessibile localmente nello specifico nodo progetto:

cost mongodb = richiedere ( 'mongodb' )

Esegui il file '.js':

indice del nodo. js

L'output genera l'errore discusso perché 'mongodb' non è installato localmente nel progetto Node corrente:

Soluzione: installare il modulo localmente

La soluzione all'errore riscontrato è installare il modulo localmente per uno specifico progetto Node.js su un sistema operativo basato su Linux.

Ecco, il “ mongodb ' il modulo viene installato localmente nel progetto corrente con l'aiuto del comando di installazione 'npm':

npm installa mongodb

Una volta completata l’installazione locale di “mongodb”, importatelo nel file “.js” ed eseguitelo:

indice del nodo. js

Si può vedere che l'errore 'Impossibile trovare il modulo' è stato risolto installando localmente il modulo 'mongodb' per l'attuale progetto Node.js:

In Windows, l'installazione globale e locale di un modulo non genera l'errore “Impossibile trovare il modulo”.

Motivo 6: File di ingresso mancante

IL ' Impossibile trovare il modulo ' L'errore può anche essere generato a causa della mancanza del file di ingresso principale in un 'package.json' del modulo. Per impostazione predefinita, il file di ingresso principale di ciascun modulo è il file 'index.js'.

Supponiamo che se l'utente lo rimuove involontariamente, verrà generato l'errore sopra riscontrato. Questo perché durante l'importazione del modulo specificato il ' richiedere() ' il metodo passa alla cartella di quel modulo e cerca il punto di ingresso, se non esiste non può importare quel modulo nell'applicazione Node.js.

Il file di ingresso “index.js” del modulo richiesto è presente all'interno della sua struttura di cartelle. Lo snippet seguente mostra il file di ingresso del modulo “mysql”:

Ora, il file “index.js” evidenziato sopra viene rimosso dalla cartella “mysql” e quindi importato il modulo “mysql” nell’applicazione Node.js:

cost mysql = richiedere ( 'mysql' )

Esegui il file “.js”:

indice del nodo. js

Qui, l'output genera l'errore 'Impossibile trovare il modulo' a causa della mancanza del file di ingresso del modulo 'mysql':

Soluzione: installare nuovamente il modulo richiesto

La soluzione all'errore sopra riscontrato è eliminare il ' nodo_moduli ' e installare nuovamente il modulo richiesto. Qui, il modulo “mysql” viene installato nuovamente dopo aver eliminato la directory “node_modules”:

npm installa mysql

Dopo la riuscita installazione di “mysql”, il nuovo “ nodo_moduli viene automaticamente generata la directory ” contenente la struttura delle cartelle del modulo “mysql” in cui è presente “index.js”:

Ora esegui nuovamente il file “.js”:

indice del nodo. js

Qui, l'output non genera alcun errore 'Impossibile trovare il modulo' a causa dell'esistenza di un file di ingresso denominato 'index.js' del modulo 'mysql':

Cosa fare se l'errore 'Impossibile trovare il modulo' persiste ancora?

Se la ' Impossibile trovare il modulo 'l'errore persiste dopo averlo risolto con una delle soluzioni di cui sopra, quindi eliminare il ' nodo_moduli ' cartella. La cartella 'node_modules' viene generata automaticamente quando viene installato un modulo di terze parti. Contiene tutti i pacchetti di terze parti da cui dipende il progetto Node.js.

Inoltre, il “ pacchetto-lock.json ' Il file viene generato automaticamente anche quando viene installato un pacchetto con 'npm'. Mantiene il registro delle dipendenze e delle sottodipendenze da cui dipende il pacchetto insieme alle relative versioni. Se il pacchetto è installato con 'yarn', il nome del file sarà ' filato.lock ”.

Soluzione: rimuovere la cartella 'node_modules' e il file 'package-lock.json'.

La soluzione all'errore riscontrato è eliminare la cartella 'node_modules' e il file 'package-lock.json/yarn.lock' e installare nuovamente il pacchetto richiesto.

In Linux , la cartella e i file sopra specificati possono essere eliminati con l'aiuto del comando ' rm (rimuovi)” comando:

rm - pacchetto rf node_modules - serratura. json //Elimina cartella e file

l // Visualizza file e directory

Nel comando sopra ' -R ' flag cancella la cartella specificata ' ricorsivamente ' comprese tutte le sue sottodirectory e il ' F ' Il flag indica all'interprete di eseguire questa attività ' con forza ':

L'output mostra che la cartella 'node_modules' e il file 'package-lock.json/yarn.lock' sono stati completamente rimossi dall'attuale progetto Node.js:

In Windows , l'utente può eliminare la cartella “node_modules” e il file “package-lock.json/yarn.lock” semplicemente premendo il pulsante “ eliminare ' o utilizzando l'opzione 'Elimina' dal menu a discesa.

Si tratta di risolvere l'errore 'Impossibile trovare il modulo' in Node.js.

Conclusione

Per risolvere il “ Impossibile trovare il modulo ', 'installa il modulo richiesto', 'specifica il percorso corretto', 'digita il caso corretto nel metodo 'require()' e anche 'digita l'estensione di file corretta'. Inoltre, si può anche risolvere “installando il modulo localmente” nel progetto Node.js. Se l'errore particolare persiste, rimuovere la cartella 'node_modules', il file 'package-lock.json', quindi installare nuovamente il modulo richiesto tramite 'npm/yarn'. Questo post ha discusso tutti i possibili motivi insieme alla loro soluzione per risolvere l'errore 'Impossibile trovare il modulo' utilizzando Node.js.