Comment résoudre l'erreur « Impossible de trouver le module » à l'aide de Node.js ?

Comment Resoudre L Erreur Impossible De Trouver Le Module A L Aide De Node Js



Comme d’autres langages de programmation, Node.js n’a pas besoin de diviser le code source de l’application en petits morceaux. Il écrit tout le code source dans un fichier « .js » et l'interpréteur ne pose aucun problème. Cependant, lors de la création d'une application Node.js très complexe, il est recommandé de diviser le code source en modules plus petits, puis de les combiner en une application cohérente.

Aperçu rapide

Qu’est-ce qu’un module dans Node.js ?

Dans Node.js, le «  module » correspond à une bibliothèque qui établit une connexion avec une application en fonction de son contexte. Il permet aux développeurs de réutiliser le code encapsulé chaque fois que cela est nécessaire. Il est classé en trois catégories principales : modules « intégrés », « locaux » et « tiers ». Ces modules contiennent en outre un large éventail de méthodes et de propriétés qui effectuent des opérations spécifiées en fonction de leurs fonctionnalités.







Comment résoudre l'erreur « Impossible de trouver le module » à l'aide de Node.js ?

Cette section répertorie toutes les raisons possibles qui génèrent l'erreur « Impossible de trouver le module » et fournit également les solutions pratiques pour la résoudre :



Raison 1 : module requis non installé

La raison la plus courante pour le « Impossible de trouver le module ' L'erreur est que le requis ' le module tiers n'est pas installé » dans le projet Node.js actuel. Supposons que nous importions le module tiers « mysql » dans l'application Node.js de cette manière :



const mysql = exiger ( 'mysql' ) ;

Dans la commande ci-dessus, le ' exiger() ' La méthode inclut le module ' mysql ' à l'application node.js actuelle.





Exécutez le fichier « .js » :

indice de nœud. js

La sortie ci-dessous génère l'erreur discutée car le module « mysql » n'est pas installé dans le projet Node.js actuel :



Solution : installer le module requis

La solution à l’erreur évoquée ci-dessus consiste à installer correctement le module requis à l’aide du «  npm / fil ' directeur chargé d'emballage. Pour ce scénario, le module « mysql » requis est installé avec la commande d'installation « npm » :

npm installer mysql

Le résultat montre l'installation réussie du module « mysql » dans le projet Node.js actuel :

Maintenant, exécutez à nouveau le fichier « .js » :

indice de nœud. js

On peut analyser que la commande ci-dessus s'est exécutée avec succès sans générer l'erreur « Impossible de trouver le module » :

Raison 2 : chemin de module incorrect

Une autre raison pour le « Impossible de trouver le module 'l'erreur est le' chemin de module incorrect ». Cela se produit généralement lorsque l'utilisateur importe un module local via son chemin relatif. Supposons que l'utilisateur crée un module personnalisé dans le dossier spécifique et l'importe dans l'application Node.js. Avant de faire cela, assurez-vous que le chemin spécifié est correct, sinon l'erreur discutée se produira.

Par exemple, un module local/défini par l'utilisateur nommé « monModule » est présent dans le dossier « ./custom-modules » :

L'utilisateur importe le « myModule » mis en surbrillance ci-dessus dans l'application Node.js actuelle via son chemin relatif :

const langues = exiger ( './monModule' ) ;

Exécutez le fichier « .js » :

indice de nœud. js

On peut voir qu'en raison du chemin incorrect de « myModule », l'erreur « Impossible de trouver le module » est générée :

Solution : spécifiez le chemin d'accès correct au module

La solution à l'erreur évoquée ci-dessus consiste à spécifier le chemin correct ou exact du module où il se trouve. Ici, nous avons transmis le chemin correct « myModule » pour résoudre l'erreur « Impossible de trouver le module » :

const langues = exiger ( './modules-personnalisés/monModule' ) ;

Lancez le fichier « .js » :

indice de nœud. js

On peut observer que la sortie ci-dessous n'affiche pas l'erreur rencontrée car le chemin spécifié du module importé a été corrigé :

Raison 3 : nom de module incorrect (sensible à la casse)

Les modules sont « sensible aux majuscules et minuscules ' sous Linux et macOS, par exemple si le nom du module est installé en majuscule et que l'utilisateur l'importe en minuscule, alors le ' Impossible de trouver le module 'Une erreur sera générée. Cela est dû au fait qu'il existe une incohérence entre le nom réel du module et l'instruction d'importation.

Ici, le module « csvtojson » installé est importé en « majuscules » dans l'application Node.js :

const csvtojson = exiger ( 'CSVTOJSON' ) ;

Exécutez le fichier « .js » :

indice de nœud. js

La sortie génère l'erreur « Impossible de trouver le module » en raison d'un nom de module incorrect :

Solution : saisissez le nom correct du module

La solution à l'erreur ci-dessus consiste à spécifier la casse correcte (inférieure ou supérieure) du module importé tout en utilisant le ' exiger() ' méthode. Dans ce scénario, le module « csvtojson » est spécifié dans la méthode « require() » dans sa casse correcte :

const csvtojson = exiger ( 'csvtojson' ) ;

Exécutez à nouveau le fichier « .js » :

indice de nœud. js

Désormais, la commande ci-dessus n'a pas généré l'erreur « Impossible de trouver le module » car le cas du package importé est le même que son nom réel :

Raison 4 : Extension de fichier incorrecte

Le ' Impossible de trouver le module ' Une erreur peut également se produire en raison du ' extension de fichier incorrecte ». Cela se produit de manière similaire à un chemin de fichier incorrect dans le cas de modules locaux. Par exemple, un module local est créé dans le fichier « .json » et est spécifié dans l'application Node.js avec l'extension « .js », puis l'erreur particulière ci-dessus est générée :

Dans ce scénario, le « monModule.js » affiché dans la raison « Chemin de module incorrect » est pris comme exemple de fichier. On y accède dans l'application Node.js actuelle en spécifiant son extension « .json » comme ceci :

const langues = exiger ( './custom-modules/myModule.json' ) ;

Exécutez le fichier « .js » :

indice de nœud. js

La sortie génère l'erreur « Impossible de trouver le module » en raison de l'extension de fichier incorrecte du fichier « myModule » :

Solution : saisissez l'extension de fichier correcte

La solution à l'erreur discutée consiste à saisir l'extension de fichier correcte dans laquelle le module local est créé. Par exemple, nous avons spécifié l'extension de fichier correcte du fichier « myModule.js » pour résoudre l'erreur « Impossible de trouver le module » :

const langues = exiger ( './custom-modules/myModule.js' ) ;

Exécutez le fichier « .js » :

indice de nœud. js

Maintenant, la commande ci-dessus a été exécutée avec succès sans afficher l'erreur « Impossible de trouver le module » :

Raison 5 : Installation globale d'un module

Les modules de nœuds peuvent être installés localement (pour un projet spécifique) ou globalement (pour tous les projets). Sous Linux , Si le module requis est installé globalement dans un système d'exploitation et est accessible dans un projet spécifique sans l'installation locale, alors le « Impossible de trouver le module 'Une erreur est générée.

Par exemple, le « mongodb ' Le module est globalement installé dans le système d'exploitation Linux via le ' sudo npm install -g mongodb ' et est accessible localement dans le projet de nœud spécifique :

const mongodb = exiger ( 'mongodb' )

Exécutez le fichier « .js » :

indice de nœud. js

La sortie génère l'erreur discutée car « mongodb » n'est pas installé localement dans le projet Node actuel :

Solution : installer le module localement

La solution à l'erreur rencontrée consiste à installer le module localement pour un projet Node.js spécifique sur un système d'exploitation basé sur Linux.

Ici le ' mongodb ' Le module est installé localement dans le projet en cours à l'aide de la commande d'installation ' npm ' :

npm installer mongodb

Lorsque l'installation locale de « mongodb » est terminée, importez-le dans le fichier « .js » et exécutez-le :

indice de nœud. js

On peut voir que l'erreur « Impossible de trouver le module » a été résolue en installant le module « mongodb » localement pour le projet Node.js actuel :

Sous Windows, l'installation globale et locale d'un module ne génère pas l'erreur « Impossible de trouver le module ».

Raison 6 : fichier d'entrée manquant

Le ' Impossible de trouver le module ' Une erreur peut également être générée en raison de l'absence du fichier d'entrée principal dans un ' package.json ' du module. Le fichier d'entrée principal de chaque module est le fichier « index.js » par défaut.

Supposons que si l'utilisateur le supprime involontairement, l'erreur rencontrée ci-dessus sera générée. En effet, lors de l'importation du module spécifié, le ' exiger() ' La méthode accède au dossier de ce module et recherche le point d'entrée. S'il n'existe pas, elle ne peut pas importer ce module dans l'application Node.js.

Le fichier d'entrée « index.js » du module requis est présent dans sa structure de dossiers. L'extrait ci-dessous montre le fichier d'entrée du module « mysql » :

Maintenant, le fichier « index.js » mis en évidence ci-dessus est supprimé du dossier « mysql », puis importé le module « mysql » dans l'application Node.js :

const mysql = exiger ( 'mysql' )

Exécutez le fichier « .js » :

indice de nœud. js

Ici, la sortie génère l'erreur « Impossible de trouver le module » en raison de l'absence du fichier d'entrée du module « mysql » :

Solution : réinstaller le module requis

La solution à l’erreur rencontrée ci-dessus consiste à supprimer le «  nœud_modules » et réinstallez le module requis. Ici, le module « mysql » est à nouveau installé après avoir supprimé le répertoire « node_modules » :

npm installer mysql

Après l'installation réussie de « mysql », le nouveau « nœud_modules » est généré automatiquement contenant la structure des dossiers du module « mysql » dans lequel « index.js » est présent :

Maintenant, exécutez à nouveau le fichier « .js » :

indice de nœud. js

Ici, la sortie ne génère aucune erreur « Impossible de trouver le module » en raison de l'existence d'un fichier d'entrée nommé « index.js » du module « mysql » :

Que faire si l'erreur « Impossible de trouver le module » persiste ?

Si la ' Impossible de trouver le module 'L'erreur persiste après l'avoir résolue avec l'une des solutions ci-dessus, puis supprimez le' nœud_modules ' dossier. Le dossier « node_modules » est généré automatiquement lorsqu'un module tiers est installé. Il contient tous les packages tiers dont dépend le projet Node.js.

De plus, le « package-lock.json ' Le fichier est également généré automatiquement lorsqu'un package est installé avec ' npm '. Il conserve l'enregistrement des dépendances ainsi que des sous-dépendances dont dépend le package ainsi que leurs versions. Si le package est installé avec « yarn », alors ce nom de fichier est » fil.lock ».

Solution : supprimez le dossier « node_modules » et le fichier « package-lock.json »

La solution à l'erreur rencontrée consiste à supprimer le dossier « node_modules » et le fichier « package-lock.json/yarn.lock » et à réinstaller le package requis.

Sous Linux , le dossier et les fichiers spécifiés ci-dessus peuvent être supprimés à l'aide de «  rm (supprimer) » commande :

rm - paquet rf node_modules - verrouillage. json // Supprimer le dossier et le fichier

ls // Afficher le fichier et les répertoires

Dans la commande ci-dessus, le ' -r « l'indicateur supprime le dossier spécifié » récursivement ' y compris tous ses sous-répertoires et le ' F « le drapeau indique à l'interprète d'effectuer cette tâche » avec force » :

Le résultat montre que le dossier « node_modules » et le fichier « package-lock.json/yarn.lock » ont été complètement supprimés du projet Node.js actuel :

Sous Windows , l'utilisateur peut supprimer le dossier « node_modules » et le fichier « package-lock.json/yarn.lock » simplement en appuyant sur le bouton « supprimer ' ou en utilisant l'option ' Supprimer ' du menu déroulant.

Il s’agit de résoudre l’erreur « Impossible de trouver le module » dans Node.js.

Conclusion

Pour résoudre le « Impossible de trouver le module ', 'installez le module requis', 'spécifiez son chemin correct', 'tapez la casse correcte dans la méthode 'require()'', et également 'tapez l'extension de fichier correcte'. De plus, il peut également être résolu d'« installer le module localement » dans le projet Node.js. Si l'erreur particulière persiste, supprimez le dossier « node_modules », le fichier « package-lock.json », puis réinstallez le module requis via « npm/yarn ». Cet article a discuté de toutes les raisons possibles ainsi que de leur solution pour résoudre l'erreur « Impossible de trouver le module » à l'aide de Node.js.