¿Cómo resolver el error 'No se puede encontrar el módulo' usando Node.js?

Como Resolver El Error No Se Puede Encontrar El Modulo Usando Node Js



Al igual que otros lenguajes de programación, Node.js no necesita dividir el código fuente de la aplicación en pequeños fragmentos. Escribe todo el código fuente en un archivo '.js' y el intérprete no causa ningún problema. Sin embargo, al crear una aplicación Node.js muy compleja, se recomienda dividir el código fuente en módulos más pequeños y luego combinarlos en una aplicación cohesiva.

Esquema rápido

¿Qué es un módulo en Node.js?

En Node.js, el ' módulo ”corresponde a una biblioteca que construye una conexión con una aplicación en función de su contexto. Permite a los desarrolladores reutilizar el código encapsulado siempre que sea necesario. Se clasifica en tres categorías principales: módulos “integrados”, “locales” y “de terceros”. Estos módulos contienen además una amplia gama de métodos y propiedades que realizan operaciones especificadas de acuerdo con sus funcionalidades.







¿Cómo resolver el error 'No se puede encontrar el módulo' usando Node.js?

Esta sección enumera todas las razones posibles que generan el error 'No se puede encontrar el módulo' y también proporciona soluciones viables para resolverlo:



Razón 1: Módulo requerido no instalado

La razón más común para el “ No se puede encontrar el módulo 'El error es que el requerido' El módulo de terceros no está instalado. ”en el proyecto actual de Node.js. Supongamos que importamos el módulo “mysql” de terceros en la aplicación Node.js de esta manera:



constante MySQL = requerir ( 'mysql' ) ;

En el comando anterior, el ' requerir() El método incluye el módulo “mysql” para la aplicación node.js actual.





Ejecute el archivo “.js”:

índice de nodo. js

El siguiente resultado genera el error comentado porque el módulo 'mysql' no está instalado en el proyecto Node.js actual:



Solución: instale el módulo requerido

La solución al error mencionado anteriormente es instalar el módulo requerido correctamente con la ayuda de ' npm / hilo ' gerente de empaquetación. Para este escenario, el módulo “mysql” requerido se instala con el comando de instalación “npm”:

npm instala mysql

El resultado muestra la instalación exitosa del módulo 'mysql' en el proyecto actual de Node.js:

Ahora ejecute nuevamente el archivo “.js”:

índice de nodo. js

Se puede analizar que el comando anterior se ejecutó exitosamente sin generar el error “No se puede encontrar el módulo”:

Razón 2: Ruta del módulo incorrecta

Otra razón para el “ No se puede encontrar el módulo 'El error es el' ruta del módulo incorrecta ”. Suele ocurrir cuando el usuario importa un módulo local a través de su ruta relativa. Supongamos que el usuario crea un módulo personalizado en la carpeta específica y lo importa a la aplicación Node.js. Antes de hacer esto, asegúrese de que la ruta especificada sea correcta, de lo contrario se producirá el error comentado.

Por ejemplo, un módulo local/definido por el usuario llamado ' mimódulo ”está presente en la carpeta “./custom-modules”:

El usuario importa el 'myModule' resaltado arriba en la aplicación Node.js actual a través de su ruta relativa:

constante idiomas = requerir ( './miMódulo' ) ;

Ejecute el archivo “.js”:

índice de nodo. js

Se puede observar que debido a la ruta incorrecta de “myModule” se genera el error “No se puede encontrar el módulo”:

Solución: especifique la ruta del módulo correcta

La solución al error comentado anteriormente es especificar la ruta correcta o exacta del módulo donde se encuentra. Aquí, pasamos la ruta correcta 'myModule' para resolver el error 'No se puede encontrar el módulo':

constante idiomas = requerir ( './módulos-personalizados/miMódulo' ) ;

Inicie el archivo “.js”:

índice de nodo. js

Se puede observar que el siguiente resultado no muestra el error encontrado porque la ruta especificada del módulo importado ha sido corregida:

Razón 3: Nombre de módulo incorrecto (distingue entre mayúsculas y minúsculas)

Los módulos son “ distingue mayúsculas y minúsculas ' en Linux y macOS, por ejemplo, si el nombre del módulo está instalado en mayúsculas y el usuario lo importa en minúsculas, entonces ' No se puede encontrar el módulo Se generará un error. Esto se debe a que no coincide el nombre real del módulo y la declaración de importación.

Aquí, el módulo “csvtojson” instalado se importa en “mayúsculas” a la aplicación Node.js:

constante csvtojson = requerir ( 'CSVTOJSON' ) ;

Ejecute el archivo “.js”:

índice de nodo. js

El resultado genera el error 'No se puede encontrar el módulo' debido al nombre incorrecto del módulo:

Solución: escriba el nombre correcto del módulo

La solución al error anterior es especificar las mayúsculas y minúsculas correctas (inferior o superior) del módulo importado mientras se utiliza el comando ' requerir() ' método. En este escenario, el módulo “csvtojson” se especifica en el método “require()” en su caso correcto:

constante csvtojson = requerir ( 'csvtojson' ) ;

Ejecute el archivo “.js” nuevamente:

índice de nodo. js

Ahora, el comando anterior no generó el error 'No se puede encontrar el módulo' porque el caso del paquete importado es el mismo que su nombre real:

Razón 4: extensión de archivo incorrecta

El ' No se puede encontrar el módulo El error 'también puede ocurrir debido al' extensión de archivo incorrecta ”. De manera similar a la ruta de archivo incorrecta, ocurre en el caso de módulos locales. Por ejemplo, se crea un módulo local en el archivo '.json' y se especifica en la aplicación Node.js con la extensión '.js', entonces se genera el error particular anterior:

En este escenario, el “ miModule.js ”que se muestra en el motivo “Ruta de módulo incorrecta” se toma como un archivo de muestra. Se accede a él en la aplicación Node.js actual especificando su extensión “.json” de esta manera:

constante idiomas = requerir ( './custom-modules/myModule.json' ) ;

Ejecute el archivo “.js”:

índice de nodo. js

El resultado genera el error 'No se puede encontrar el módulo' debido a la extensión incorrecta del archivo 'myModule':

Solución: escriba la extensión de archivo correcta

La solución al error comentado es escribir la extensión de archivo correcta en la que se crea el módulo local. Por ejemplo, especificamos la extensión de archivo correcta del archivo 'myModule.js' para resolver el error 'No se puede encontrar el módulo':

constante idiomas = requerir ( './custom-modules/myModule.js' ) ;

Ejecute el archivo “.js”:

índice de nodo. js

Ahora, el comando anterior se ejecutó exitosamente sin mostrar el error 'No se puede encontrar el módulo':

Razón 5: Instalación global de un módulo

Los módulos de nodo se pueden instalar localmente (para un proyecto específico) o globalmente (para todos los proyectos). En Linux , Si el módulo requerido está instalado globalmente en un sistema operativo y se accede a él en un proyecto específico sin la instalación local, entonces aparecerá el mensaje ' No se puede encontrar el módulo 'Se genera un error.

Por ejemplo, el “ mongodb El módulo se instala globalmente en el sistema operativo Linux a través del menú ' sudo npm instalar -g mongodb ”comando y se accede localmente en el proyecto de nodo específico:

constante mongodb = requerir ( 'mongodb' )

Ejecute el archivo “.js”:

índice de nodo. js

El resultado genera el error comentado porque 'mongodb' no está instalado localmente en el proyecto de Nodo actual:

Solución: instale el módulo localmente

La solución al error encontrado es instalar el módulo localmente para un proyecto Node.js específico en un sistema operativo basado en Linux.

Aquí el ' mongodb El módulo 'se instala localmente en el proyecto actual con la ayuda del comando de instalación 'npm':

npm instala mongodb

Cuando se complete la instalación local de “mongodb”, impórtelo al archivo “.js” y ejecútelo:

índice de nodo. js

Se puede ver que el error 'No se puede encontrar el módulo' se resolvió instalando el módulo 'mongodb' localmente para el proyecto Node.js actual:

En Windows, la instalación global y local de un módulo no genera el error 'No se puede encontrar el módulo'.

Razón 6: Falta el archivo de entrada

El ' No se puede encontrar el módulo El error 'también se puede generar debido a que falta el archivo de entrada principal en un' paquete.json 'del módulo. El archivo de entrada principal de cada módulo es el archivo 'index.js' de forma predeterminada.

Supongamos que si el usuario lo elimina sin querer, se generará el error encontrado anteriormente. Esto se debe a que al importar el módulo especificado, aparece el mensaje ' requerir() El método navega a la carpeta de ese módulo y busca el punto de entrada; si no existe, no puede importar ese módulo a la aplicación Node.js.

El archivo de entrada 'index.js' del módulo requerido está presente dentro de su estructura de carpetas. El siguiente fragmento muestra el archivo de entrada del módulo 'mysql':

Ahora, el archivo “index.js” resaltado arriba se elimina de la carpeta “mysql” y luego se importa el módulo “mysql” a la aplicación Node.js:

constante MySQL = requerir ( 'mysql' )

Ejecute el archivo “.js”:

índice de nodo. js

Aquí, el resultado genera el error 'No se puede encontrar el módulo' debido a que falta el archivo de entrada del módulo 'mysql':

Solución: instale nuevamente el módulo requerido

La solución al error encontrado anteriormente es eliminar el ' módulos_nodo ”Directorio e instale el módulo requerido nuevamente. Aquí, el módulo “mysql” se instala nuevamente después de eliminar el directorio “node_modules”:

npm instala mysql

Después de la instalación exitosa de “mysql”, el nuevo “ módulos_nodo 'Se genera automáticamente el directorio que contiene la estructura de carpetas del módulo 'mysql' en el que está presente 'index.js':

Ahora, ejecute nuevamente el archivo “.js”:

índice de nodo. js

Aquí, la salida no genera ningún error 'No se puede encontrar el módulo' debido a la existencia de un archivo de entrada llamado 'index.js' del módulo 'mysql':

¿Qué hacer si el error 'No se puede encontrar el módulo' aún persiste?

Si el ' No se puede encontrar el módulo El error ' persiste después de resolverlo con cualquiera de las soluciones anteriores y luego elimine el ' módulos_nodo ”carpeta. La carpeta 'node_modules' se genera automáticamente cuando se instala un módulo de terceros. Contiene todos los paquetes de terceros de los que depende el proyecto Node.js.

Es más, el “ paquete-lock.json El archivo ”también se genera automáticamente cuando se instala un paquete con “npm”. Mantiene el registro de las dependencias y subdependencias de las que depende el paquete junto con sus versiones. Si el paquete está instalado con 'yarn', entonces este nombre de archivo es ' hilo.lock ”.

Solución: elimine la carpeta “node_modules” y el archivo “package-lock.json”

La solución al error encontrado es eliminar la carpeta “node_modules” y el archivo “package-lock.json/yarn.lock” e instalar nuevamente el paquete requerido.

En Linux , la carpeta y los archivos especificados anteriormente se pueden eliminar con la ayuda del siguiente ' habitación (eliminar)” comando:

habitación - paquete rf node_modules - cerrar con llave. json //Eliminar carpeta y archivo

es // Mostrar archivos y directorios

En el comando anterior el ' -r 'La bandera elimina la carpeta especificada' recursivamente ”incluidos todos sus subdirectorios y el “ F 'La bandera le dice al intérprete que realice esta tarea'. con fuerza ”:

El resultado muestra que la carpeta “node_modules” y el archivo “package-lock.json/yarn.lock” se han eliminado por completo del proyecto Node.js actual:

En ventanas , el usuario puede eliminar la carpeta “node_modules” y el archivo “package-lock.json/yarn.lock” simplemente presionando el botón “ borrar ”o usando la opción “eliminar” del menú desplegable.

Se trata de resolver el error 'No se puede encontrar el módulo' en Node.js.

Conclusión

Para resolver el “ No se puede encontrar el módulo 'error, 'instale el módulo requerido', 'especifique su ruta correcta', 'escriba el caso correcto en el método 'require()' y también 'escriba la extensión de archivo correcta'. Además, también se puede resolver “instalar el módulo localmente” en el proyecto Node.js. Si el error particular persiste, elimine la carpeta 'node_modules', el archivo 'package-lock.json' y luego instale nuevamente el módulo requerido a través de 'npm/yarn'. Esta publicación analiza todas las razones posibles junto con su solución para resolver el error 'No se puede encontrar el módulo' usando Node.js.