Esboço rápido
- O que é um “Módulo” em Node.js?
- Como resolver o erro “Não é possível encontrar o módulo” usando Node.js?
- Conclusão
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 não instalado
- Solução: Instale o Módulo Necessário
- Razão 2: Caminho do módulo incorreto
- Solução: especifique o caminho correto do módulo
- Razão 3: Nome do módulo incorreto (diferencia maiúsculas de minúsculas)
- Solução: digite o nome correto do módulo
- Razão 4: extensão de arquivo incorreta
- Solução: digite a extensão de arquivo correta
- Razão 5: Instalação Global de um Módulo
- Solução: instale o módulo localmente
- Razão 6: arquivo de entrada ausente
- Solução: instale o módulo necessário novamente
- O que fazer se o erro “Não é possível encontrar o módulo” ainda persistir?
- Solução: Remova a pasta “node_modules” e o arquivo “package-lock.json”
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ó. jsA 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 mysqlA 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ó. jsPode-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ó. jsPode-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ó. jsPode-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ó. jsA 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ó. jsAgora, 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ó. jsA 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ó. jsAgora, 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ó. jsA 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ó. jsPode-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ó. jsAqui, 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ó. jsAqui, 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 arquivoeu //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.