Como resolver o erro “Não é possível encontrar o módulo” usando Node.js?

Como Resolver O Erro Nao E Possivel Encontrar O Modulo Usando Node Js



Como outras linguagens de programação, o Node.js não precisa dividir o código-fonte do aplicativo em pequenos pedaços. Ele grava todo o código-fonte em um arquivo “.js” e o interpretador não causa problemas. No entanto, ao criar um aplicativo Node.js muito complexo, é recomendado dividir o código-fonte em módulos menores e depois combiná-los em um aplicativo coeso.

Esboço rápido

O que é um módulo em Node.js?

No Node.js, o “ módulo ” corresponde a uma biblioteca que constrói uma conexão com uma aplicação com base em seu contexto. Ele permite que os desenvolvedores reutilizem o código encapsulado sempre que necessário. É categorizado em três categorias principais: módulos “integrados”, “locais” e “de terceiros”. Esses módulos contêm ainda uma ampla gama de métodos e propriedades que realizam operações especificadas de acordo com suas funcionalidades.







Como resolver o erro “Não é possível encontrar o módulo” usando Node.js?

Esta seção lista todos os motivos possíveis que geram o erro “Não é possível encontrar o módulo” e também fornece soluções viáveis ​​para resolvê-lo:



Razão 1: Módulo necessário não instalado

O motivo mais comum para o “ Não é possível encontrar o módulo ”Erro é que o necessário“ módulo de terceiros não está instalado ”No projeto Node.js atual. Suponha que importemos o módulo “mysql” de terceiros no aplicativo Node.js desta forma:



const mysql = exigir ( 'mysql' ) ;

No comando acima, o “ exigir() ”Inclui o módulo “mysql” para o aplicativo node.js atual.





Execute o arquivo “.js”:

índice do nó. js

A saída abaixo gera o erro discutido porque o módulo “mysql” não está instalado no projeto Node.js atual:



Solução: Instale o Módulo Necessário

A solução para o erro discutido acima é instalar o módulo necessário corretamente com a ajuda do “ npm / fio ' gerenciador de pacotes. Para este cenário, o módulo “mysql” necessário é instalado com o comando de instalação “npm”:

npm instalar mysql

A saída mostra a instalação bem-sucedida do módulo “mysql” no projeto Node.js atual:

Agora execute o arquivo “.js” novamente:

índice do nó. js

Pode-se analisar que o comando acima foi executado com sucesso sem gerar o erro “Não foi possível encontrar o módulo”:

Razão 2: Caminho do módulo incorreto

Outra razão para o “ Não é possível encontrar o módulo ”Erro é o“ caminho do módulo incorreto ”. Geralmente acontece quando o usuário importa um módulo local através de seu caminho relativo. Suponha que o usuário crie um módulo personalizado na pasta específica e o importe para o aplicativo Node.js. Antes de fazer isso, certifique-se de que o caminho especificado esteja correto, caso contrário, o erro discutido será encontrado.

Por exemplo, um módulo local/definido pelo usuário chamado “ meuMódulo ”está presente na pasta “./custom-modules”:

O usuário importa o “myModule” destacado acima para o aplicativo Node.js atual por meio de seu caminho relativo:

const línguas = exigir ( './meuMódulo' ) ;

Execute o arquivo “.js”:

índice do nó. js

Pode-se observar que devido ao caminho incorreto do “myModule” é gerado o erro “Não é possível encontrar o módulo”:

Solução: especifique o caminho correto do módulo

A solução para o erro discutido acima é especificar o caminho correto ou exato do módulo onde ele está localizado. Aqui, passamos o caminho correto “myModule” para resolver o erro “Não é possível encontrar o módulo”:

const línguas = exigir ( './custom-modules/myModule' ) ;

Inicie o arquivo “.js”:

índice do nó. js

Pode-se observar que a saída abaixo não apresenta o erro encontrado porque o caminho especificado do módulo importado foi corrigido:

Razão 3: Nome do módulo incorreto (diferencia maiúsculas de minúsculas)

Os módulos são “ maiúsculas e minúsculas ”No Linux e macOS, como se o nome do módulo estivesse instalado em letras maiúsculas e o usuário o importasse em letras minúsculas, então o“ Não é possível encontrar o módulo ”Erro será gerado. Isso ocorre porque há uma incompatibilidade entre o nome real do módulo e a instrução de importação.

Aqui, o módulo “csvtojson” instalado é importado em “maiúsculas” para o aplicativo Node.js:

const csvtojson = exigir ( 'CSVTOJSON' ) ;

Execute o arquivo “.js”:

índice do nó. js

A saída gera o erro “Não é possível encontrar o módulo” devido ao nome incorreto do módulo:

Solução: digite o nome correto do módulo

A solução para o erro acima é especificar a caixa correta (inferior ou superior) do módulo importado ao usar o “ exigir() ”Método. Neste cenário, o módulo “csvtojson” é especificado no método “require()” em seu caso correto:

const csvtojson = exigir ( 'csvtojson' ) ;

Execute o arquivo “.js” novamente:

índice do nó. js

Agora, o comando acima não gerou o erro “Não é possível encontrar o módulo” porque o caso do pacote importado é igual ao seu nome real:

Razão 4: extensão de arquivo incorreta

O ' Não é possível encontrar o módulo ”O erro também pode ocorrer devido ao“ extensão de arquivo incorreta ”. Semelhante ao caminho de arquivo incorreto, acontece no caso de módulos locais. Por exemplo, um módulo local é criado no arquivo “.json” e especificado no aplicativo Node.js com a extensão “.js”, então o erro específico acima é gerado:

Neste cenário, o “ meuModule.js ” mostrado no motivo “Caminho incorreto do módulo” é considerado um arquivo de amostra. Ele é acessado no aplicativo Node.js atual especificando sua extensão “.json” assim:

const línguas = exigir ( './custom-modules/myModule.json' ) ;

Execute o arquivo “.js”:

índice do nó. js

A saída gera o erro “Não é possível encontrar o módulo” devido à extensão incorreta do arquivo “myModule”:

Solução: digite a extensão de arquivo correta

A solução para o erro discutido é digitar a extensão de arquivo correta na qual o módulo local é criado. Por exemplo, especificamos a extensão correta do arquivo “myModule.js” para resolver o erro “Não é possível encontrar o módulo”:

const línguas = exigir ( './custom-modules/myModule.js' ) ;

Execute o arquivo “.js”:

índice do nó. js

Agora, o comando acima foi executado com sucesso sem mostrar o erro “Não é possível encontrar o módulo”:

Razão 5: Instalação Global de um Módulo

Os módulos do nó podem ser instalados localmente (para um projeto específico) ou globalmente (para todos os projetos). No Linux , Se o módulo necessário for instalado globalmente em um sistema operacional e for acessado em um projeto específico sem a instalação local, então o “ Não é possível encontrar o módulo ”Erro é gerado.

Por exemplo, o “ mongodb ”O módulo é instalado globalmente no sistema operacional Linux por meio do“ sudo npm instalar -g mongodb ” e é acessado localmente no projeto do nó específico:

const mongodb = exigir ( 'mongodb' )

Execute o arquivo “.js”:

índice do nó. js

A saída gera o erro discutido porque “mongodb” não está instalado localmente no projeto Node atual:

Solução: instale o módulo localmente

A solução para o erro encontrado é instalar o módulo localmente para um projeto Node.js específico em um sistema operacional baseado em Linux.

Aqui o ' mongodb ”O módulo é instalado localmente no projeto atual com a ajuda do comando de instalação “npm”:

npm instalar mongodb

Quando a instalação local do “mongodb” for concluída, importe-o para o arquivo “.js” e execute-o:

índice do nó. js

Pode-se observar que o erro “Não é possível encontrar o módulo” foi resolvido com a instalação do módulo “mongodb” localmente para o projeto Node.js atual:

No Windows, a instalação global e local de um módulo não gera o erro “Não é possível encontrar o módulo”.

Razão 6: arquivo de entrada ausente

O ' Não é possível encontrar o módulo ”O erro também pode ser gerado devido à falta do arquivo de entrada principal em um “package.json” do módulo. O arquivo de entrada principal de cada módulo é o arquivo “index.js” por padrão.

Suponha que, se o usuário o remover acidentalmente, o erro encontrado acima será gerado. Isso ocorre porque ao importar o módulo especificado o “ exigir() ”O método navega até a pasta desse módulo e procura o ponto de entrada; se ele não existir, não será possível importar esse módulo para o aplicativo Node.js.

O arquivo de entrada “index.js” do módulo necessário está presente dentro de sua estrutura de pastas. O trecho abaixo mostra o arquivo de entrada do módulo “mysql”:

Agora, o arquivo “index.js” destacado acima é removido da pasta “mysql” e então importado o módulo “mysql” para o aplicativo Node.js:

const mysql = exigir ( 'mysql' )

Execute o arquivo “.js”:

índice do nó. js

Aqui, a saída gera o erro “Não é possível encontrar o módulo” devido à falta do arquivo de entrada do módulo “mysql”:

Solução: instale o módulo necessário novamente

A solução para o erro encontrado acima é excluir o “ node_modules ”E instale o módulo necessário novamente. Aqui, o módulo “mysql” é instalado novamente após a exclusão do diretório “node_modules”:

npm instalar mysql

Após a instalação bem-sucedida do “mysql”, o novo “ node_modules ”é gerado automaticamente contendo a estrutura de pastas do módulo “mysql” no qual “index.js” está presente:

Agora, execute o arquivo “.js” novamente:

índice do nó. js

Aqui, a saída não gera nenhum erro “Não é possível encontrar o módulo” devido à existência de um arquivo de entrada denominado “index.js” do módulo “mysql”:

O que fazer se o erro “Não é possível encontrar o módulo” ainda persistir?

Se o “ Não é possível encontrar o módulo ”O erro persiste após resolvê-lo com qualquer uma das soluções acima e exclua o“ node_modules ' pasta. A pasta “node_modules” é gerada automaticamente quando um módulo de terceiros é instalado. Ele contém todos os pacotes de terceiros dos quais o projeto Node.js depende.

Além disso, o “ pacote-lock.json ”O arquivo também é gerado automaticamente quando um pacote é instalado com “npm”. Ele mantém o registro das dependências e também das subdependências das quais o pacote depende junto com suas versões. Se o pacote for instalado com “yarn”, então o nome do arquivo será “ fio.lock ”.

Solução: Remova a pasta “node_modules” e o arquivo “package-lock.json”

A solução para o erro encontrado é excluir a pasta “node_modules” e o arquivo “package-lock.json/yarn.lock” e instalar o pacote necessário novamente.

No Linux , a pasta e os arquivos especificados acima podem ser excluídos com a ajuda do “ rm (remover)” comando:

rm - pacote node_modules rf - trancar. JSON //Exclui pasta e arquivo

eu //Exibe arquivos e diretórios

No comando acima o “ -r ”sinalizador exclui a pasta especificada“ recursivamente ”Incluindo todos os seus subdiretórios e o“ f ”flag diz ao intérprete para executar esta tarefa“ com força ”:

A saída mostra que a pasta “node_modules” e o arquivo “package-lock.json/yarn.lock” foram completamente removidos do projeto Node.js atual:

No Windows , o usuário pode excluir a pasta “node_modules” e o arquivo “package-lock.json/yarn.lock” simplesmente pressionando o botão “ excluir ”Ou usando a opção “excluir” no menu suspenso.

Trata-se de resolver o erro “Não é possível encontrar o módulo” no Node.js.

Conclusão

Para resolver o “ Não é possível encontrar o módulo ” erro, “instale o módulo necessário”, “especifique seu caminho correto”, “digite o caso correto no método “require ()”” e também “digite a extensão de arquivo correta”. Além disso, também pode ser resolvido “instalar o módulo localmente” no projeto Node.js. Se o erro específico persistir, remova a pasta “node_modules”, o arquivo “package-lock.json” e instale o módulo necessário novamente via “npm/yarn”. Esta postagem discutiu todos os motivos possíveis junto com sua solução para resolver o erro “Não é possível encontrar o módulo” usando Node.js.